linux查看埠號占用命令-top

来源:https://www.cnblogs.com/bugingcode/archive/2018/01/15/8288306.html
-Advertisement-
Play Games

題記 對於top命令來說,基本是都是linux命令入門中,第一個使用的命令,在windows中電腦如果卡頓,回去任務欄中查看cpu和記憶體的使用情況。top命令實現的就是這個重要的功能。 在系統維護的過程中,隨時可能有需要查看 CPU 使用率,並根據相應信息分析系統狀況的需要。在 CentOS 中,可 ...


題記

對於top命令來說,基本是都是linux命令入門中,第一個使用的命令,在windows中電腦如果卡頓,回去任務欄中查看cpu和記憶體的使用情況。top命令實現的就是這個重要的功能。

在系統維護的過程中,隨時可能有需要查看 CPU 使用率,並根據相應信息分析系統狀況的需要。在 CentOS 中,可以通過 top 命令來查看 CPU 使用狀況。運行 top 命令後,CPU 使用狀態會以全屏的方式顯示,並且會處在對話的模式 -- 用基於 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運行中敲 q 鍵一次)。

top命令結果解析

top命令中展現的信息非常的豐富:

最上部的 系統信息欄 :

第一行(top):
“00:11:04”為系統當前時刻;
“3:35”為系統啟動後到現在的運作時間;

“2 users”為當前登錄到系統的用戶,更確切的說是登錄到用戶的終端數 -- 同一個用戶同一時間對系統多個終端的連接將被視為多個用戶連接到系統,這裡的用戶數也將表現為終端的數目;

“load average”為當前系統負載的平均值,後面的三個值分別為1分鐘前、5分鐘前、15分鐘前進程的平均數,一般的可以認為這個數值超過 CPU 數目時,CPU 將比較吃力的負載當前系統所包含的進程;
第二行(Tasks):
“59 total”為當前系統進程總數;

“1 running”為當前運行中的進程數;

“58 sleeping”為當前處於等待狀態中的進程數;

“0 stoped”為被停止的系統進程數;

“0 zombie”為被覆原的進程數;
第三行(Cpus):
分別表示了 CPU 當前的使用率;
第四行(Mem):
分別表示了記憶體總量、當前使用量、空閑記憶體量、以及緩衝使用中的記憶體量;
第五行(Swap):
表示類別同第四行(Mem),但此處反映著交換分區(Swap)的使用情況。通常,交換分區(Swap)被頻繁使用的情況,將被視作物理記憶體不足而造成的。

進程關鍵信息的解釋

PID:進程的ID
USER:進程所有者
PR:進程的優先順序別,越小越優先被執行
NInice:值
VIRT:進程占用的虛擬記憶體
RES:進程占用的物理記憶體
SHR:進程使用的共用記憶體
S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數
%CPU:進程占用CPU的使用率
%MEM:進程使用的物理記憶體和總記憶體的百分比
TIME+:該進程啟動後占用的總的CPU時間,即占用CPU使用時間的累加值。
COMMAND:進程啟動命令名稱

top 參數解釋

-b:以批處理模式操作; 
-c:顯示完整的治命令; 
-d:屏幕刷新間隔時間; 
-I:忽略失效過程; 
-s:保密模式; 
-S:累積模式; 
-i<時間>:設置間隔時間; 
-u<用戶名>:指定用戶名; 
-p<進程號>:指定進程; 
-n<次數>:迴圈顯示的次數。

top交互命令

h:顯示幫助畫面,給出一些簡短的命令總結說明; 
k:終止一個進程; 
i:忽略閑置和僵死進程,這是一個開關式命令; 
q:退出程式; 
r:重新安排一個進程的優先順序別; 
S:切換到累計模式; 
s:改變兩次刷新之間的延遲時間(單位為s),如果有小數,就換算成ms。輸入0值則系統將不斷刷新,預設值是5s; 
f或者F:從當前顯示中添加或者刪除項目; 
o或者O:改變顯示項目的順序; 
l:切換顯示平均負載和啟動時間信息; 
m:切換顯示記憶體信息; 
t:切換顯示進程和CPU狀態信息; 
c:切換顯示命令名稱和完整命令行; 
M:根據駐留記憶體大小進行排序; 
P:根據CPU使用百分比大小進行排序; 
T:根據時間/累計時間進行排序; 
w:將當前設置寫入~/.toprc文件中。

記憶體相關命令 free

在Linux下查看記憶體我們一般用free命令:

下麵是對這些數值的解釋:

total:總計物理記憶體的大小。
used:已使用多大。
free:可用有多少。
Shared:多個進程共用的記憶體總額。
Buffers/cached:磁碟緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。

區別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。

這兩個的區別在於使用的角度來看,第一行是從OS的角度來看,因為對於OS,buffers/cached 都是屬於被使用,所以他的可用記憶體是16176KB,已用記憶體是3250004KB,其中包括,內核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是從應用程式角度來看,對於應用程式來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被回收。
所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached。

接下來解釋什麼時候記憶體會被交換,以及按什麼方交換。 當可用記憶體少於額定值的時候,就會開會進行交換。
如何看額定值:

cat /proc/meminfo

/proc中放了很多關於系統的信息,後面會專門講述。

free命令參數

-b:以Byte為單位顯示記憶體使用情況; 
-k:以KB為單位顯示記憶體使用情況; 
-m:以MB為單位顯示記憶體使用情況; 
-o:不顯示緩衝區調節列; 
-s<間隔秒數>:持續觀察記憶體使用狀況; 
-t:顯示記憶體總和列; 
-V:顯示版本信息。

更多教程:阿貓學編程


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 畢竟這個框架是外國人開發的,對於我們國人來說還是有些地方並不合適,就好比如註冊時需要填寫名字、姓氏一樣,今天要說的就是如何去掉這2個欄位。 先看如下修改完成的效果圖 User表結構修改 修改User類,添加如下代碼: 文件路徑:D:\abp version\aspnet-zero-3.4.0\asp ...
  • 小目標:我們的目的是用.Net Core 2.0 SDK編譯一個小控制台程式 test_core.dll ,然後用VS2017 Debug coreclr 源碼 ,接下來就可以詳細調試、查看test_core.dll 中IL代碼是怎麼一步步jit成Native代碼的。 1.下載最新 coreclr ...
  • 1. Linux計劃任務建立工具 2. 任務項編寫 時間定義 at方式: at t [TIME]時間定義規則 1. 月 日 小時 分鐘 2. teatime == 下午四點 3. tomrrow == 明天 4. now +5min == 五分鐘之後 5. now +4days == 四天後 6. ...
  • UNIX/Linux 本身是沒有圖形界面的,我們通常在 UNIX/Linux 發行版上看到的圖形界面實際都只是運行在 Linux 系統之上的一套軟體XFree86,現在則是 xorg(X.Org),而這套軟體又是通過 X 視窗系統(X Window System,也常被稱為 X11 或 X)實現的, ...
  • 一、 $diskutil list 尋找外設存儲器的名字/ promote:~ jss$ diskutil list /dev/disk0 (internal): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 121.3 GB disk0 ...
  • Ubuntu中組管理和用戶管理;chmod,chgrp,chown,su以及which命令等命令的應用; ...
  • 參考文檔: grafana 部署:http://docs.grafana.org/installation/rpm/ 一.環境 1. 拓撲 2. 節點 Node OS Hostname IP Remark prometheus& grafana server centos 7.4 prometheu ...
  • ``虛擬機安裝Linux環境常需添加空間,預設分區模式根分區較小(20G),home目錄沒有單獨掛載。採用VMware自動安裝方式時,使用一段時間需要對目標虛擬機硬碟空間進行擴展,使用Expand可以擴展磁碟大小,但分區大小並未改變(某些發行版重啟即完成擴容,但至少CentOS中沒發現有,可能和分區 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...