linux怎麼檢視記憶體使用情況
- IT科技
- 關注:2.66W次
1)檢視RAM使用情況最簡單的方法是通過 /proc/meminfo。這個動態更新的虛擬檔案實際上是許多其他記憶體相關工具(如:free/ps/top)等的組合顯示。/proc/meminfo列出了所有你想了解的記憶體的使用情況。 $ cat /proc/meminfo 2)free命令是一個快速檢視
linux怎麼檢視記憶體使用情況呢?下面就一起來看看吧!
方法1
輸入:top
free -m 顯示的數字是記憶體大小,以兆為單位 total used free shared buffers cached Mem: 32126 32080 46 0 117 22841 -/+ buffers/cache: 9121 23005 Swap: 996 0 996 注意,linux大量記憶體是被系統cache用了,所以剩餘記憶體可能會很小,但是實際
PID:程序的ID USER:程序所有
可以使用“free”命令檢視當前記憶體的使用情況, 其中各項的含義如下,total:總計實體記憶體的大小;used:已使用的記憶體大小;free:可用的記憶體大小;Shared:多個程序共享的記憶體總額;Buffers/cached:磁碟快取的大校 第二行(mem)的used/free與第三行(-/
PR:程序的優先級別,越小越優先被執
ps -aux | sort -k4nr | head -N1 *命令詳解: 1. head:-N可以指定顯示的行數,預設顯示10行。 2. ps:引數a指代all——所有的程序,u指代userid——執行該程序的使用者id,x指代顯示所有程式,不以終端機來區分。ps -aux的輸出格式如下: USER PID %
NInice:
輸入:top PID:程序的IDUSER:程序所有 PR:程序的優先級別,越小越優先被執 NInice: VIRT:程序佔用的虛擬內 RES:程序佔用的物理內 SHR:程序使用的共享內 S:程序的狀態。S表示休眠,R表示正在執行,Z表示僵死狀態,N表示 該程序優先值為負
VIRT:程序佔用的虛擬內
free 記憶體rnrnps top 查CPU情況rnrn遠端桌面可以用 Xmanger 來連結..但首先你要在linux上做配置才行
RES:程序佔用的物理內
做了個24小時的穩定性測試,探討了Linux的Mem使用情況: 看記憶體最方便的命令是free -m,如: [root@host ~]# free -m total used free shared buffers cached Mem: 1024 1005 19 0 9 782 -/+ buffers/cache: 212 811 Swap: 996 0 995 [root@host
SHR:程序使用的共享內
你好,方法如下: 可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令: (1)top top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源
S:程序的狀態。S表示休眠,R表示正在執行,Z表示僵死狀態,N表示該程序優先值為負
可以用free命令檢視虛擬記憶體。 free是一個快速檢視記憶體使用情況的方法,它是對 /proc/meminfo 收集到的資訊的一個概述。 舉例: $ free -h Swap為虛擬記憶體或者稱為交換空間的使用狀態。 free的作用 :free命令用來顯示記憶體的使用情況,使用許可權
%CPU:程序佔用CPU的使用
你好,方法如下: 可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令: (1)top top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源
%MEM:程序使用的實體記憶體和總記憶體的百分
1,資料夾大小,比如:du -sh /abc 2,硬碟分割槽,fdisk -l 檔案系統使用情況,df -h 如果有用LVM,vgdisplay,lvdisplay 3,記憶體使用,cat /proc/meminfo, free, top
TIME+:該程序啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加值
做了個24小時的穩定性測試,探討了Linux的Mem使用情況: 看記憶體最方便的命令是free -m,如: [root@host ~]# free -m total used free shared buffers cached Mem: 1024 1005 19 0 9 782 -/+ buffers/cache: 212 811 Swap: 996 0 995 [root@host
COMMAND:程序啟動命令名稱
top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的任務管理器 可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如
方法2
輸入:free
1. 在系統維護的過程中,隨時可能有需要檢視 CPU 使用率,並根據相應資訊分析系統狀況的需要。在 CentOS 中,可以通過 top 命令來檢視 CPU 使用狀況。執行 top 命令後,CPU 使用狀態會以全屏的方式顯示,並且會處在對話的模式 -- 用基於 top 的
total:總計實體記憶體的大小
輸入top -d 2這條命令,top命令用於動態顯示各個程序的資源佔用情況,top命令常用的-d選項表示top命令的介面更新的秒數(預設是5秒更新一次),將-d選項設定成2則表示2秒更新一次。 top命令顯示的下半部分就是是每個程序的資源使用情況,top命令
used:已使用多大
cpuinfo 主機CPU 資訊 filesystems 檔案系統資訊 meninfo 主機記憶體資訊 version Linux 記憶體版本資訊 diskstatus 磁碟負載情況 另外top 命令可以動態的顯示當前系統程序使用者的使用情況,而且是動態的顯示出來,尤其是在該命令顯示出來的對上方對系
free:可用有多少
可以用TOP工具檢視實時狀態。 top進入檢視: 第一行:10:01:23 當前系統時間126 days, 14:29 系統已經運行了126天14小時29分鐘(在這期間沒有重啟過)2 users 當前有2個使用者登入系統load average: 1.15, 1.42, 1.44 load average後面的三個數分
Shared:多個程序共享的記憶體總額
mpstat -P ALL 和 sar -P ALL 說明:sar -P ALL > aaa.txt 重定向輸出內容到檔案 aaa.txt top命令經常用來監控linux的系統狀況,比如cpu、記憶體的使用,程式設計師基本都知道這個命令,但比較奇怪的是能用好它的人卻很少,例如top監控檢視中記憶體數值
Buffers/cached:磁碟快取的大小
下面是一個可供選擇的,但並不全面的圖形或命令列工具列表,這些工具用來檢查Linux平臺中已用和可用的記憶體。 1. /proc/meminfo 一種最簡單的方法是通過“/proc/meminfo”來檢查記憶體使用狀況。這個動態更新的虛擬檔案事實上是諸如free,top和ps這些
第三行(-/+ buffers/cached)
linux下怎麼檢視程式的記憶體使用情況,解決辦法 1、top top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員 可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視
used:已使用多大
cpuinfo 主機CPU 資訊 filesystems 檔案系統資訊 meninfo 主機記憶體資訊 version Linux 記憶體版本資訊 diskstatus 磁碟負載情況 另外top 命令可以動態的顯示當前系統程序使用者的使用情況,而且是動態的顯示出來,尤其是在該命令顯示出來的對上方對系
free:可用有多少
可以用TOP工具檢視實時狀態。 top進入檢視: 第一行:10:01:23 當前系統時間126 days, 14:29 系統已經運行了126天14小時29分鐘(在這期間沒有重啟過)2 users 當前有2個使用者登入系統load average: 1.15, 1.42, 1.44 load average後面的三個數分
第四行就不多解釋了。
在 Linux 上進行開發和運營維護的時候,免不了要檢視某一個程式所佔用記憶體的情況。有很多個命令都可以達到我們的需求,這裡給大家列舉幾個: 1:top -p pid 檢視程式的情況 2:ps -aux | grep process_name 3:cat /proc/pid/status 這裡會列印
區別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。 這兩個的區別在於使用的角度來看,第一行是從OS的角度來看,因為對於OS,buffers/cached 都是屬於被使用,所以他的可用記憶體是434884KB,已用記憶體是3489800KB,第三行所指的是從應用程式角度來看,對於應用程式來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高檔案讀取的效能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被回收。所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached。
做了個24小時的穩定性測試,探討了Linux的Mem使用情況:看記憶體最方便的命令是free -m,如:[root@host ~]# free -mtotal used free shared buffers cachedMem: 1024 1005 19 0 9 782-/+ buffers/cache: 212 811Swap: 996 0 995[root@host ~]#從
方法3
輸入:cat /proc/meminfo
檢視Linux伺服器記憶體 檢視Linux伺服器下的記憶體使用情況,可以使用命令free -m。注意此命令只在Linux下有效,在FreeBSD中沒有此命令。命令如下所示: 檢視Linux伺服器記憶體 used:已經使用的記憶體數 free:空閒的記憶體數 shared:多個程序共享的記憶體
檢視RAM使用情況最簡單的方法是通過/proc/meminfo。
$ free -m total used free shared buffers cached Mem: 1002 769 232 0 62 421 -/+ buffers/cache: 286 715 Swap: 1153 0 1153 第一部分Mem行: total 記憶體總數: 1002M used 已經使用的記憶體數: 769M free 空閒的記憶體數: 232M shared 當
這個動態更新的虛擬檔案實際上是許多其他記憶體相關工具(如:free / ps / top)等的組合顯示。
Linux 系統中―/proc‖是個偽檔案目錄,不佔用系統空間,及時的反應出記憶體現在使用的程序情況其中許多檔案都儲存系統執行狀態和相關資訊對於―/proc‖中檔案可使用檔案檢視命令瀏覽其內容,檔案中包含系統特定資訊: cpuinfo 主機CPU 資訊 file
/proc/meminfo列出了所有你想了解的記憶體的使用情況。
可以使用“free”命令檢視當前記憶體的使用情況, 其中各項的含義如下,total:總計實體記憶體的大小;used:已使用的記憶體大小;free:可用的記憶體大小;Shared:多個程序共享的記憶體總額;Buffers/cached:磁碟快取的大校 第二行(mem)的used/free與第三行(-/
程序的記憶體使用資訊也可以通過/proc/<pid>/statm 和 /proc/<pid>/status 來檢視。
用 'top -i' 看看有多少程序處於 Running 狀態,可能系統存在記憶體或 I/O 瓶頸,用 free 看看系統記憶體使用情況,swap 是否被佔用很多,用 iostat 看看 I/O 負載情況 top: 主要引數 d:指定更新的間隔,以秒計算。 q:沒有任何延遲的更新。如果
方法4
輸入:gnome-system-monitor
GNOME System Monitor 是一個顯示最近一段時間內的CPU、記憶體、交換區及網路的使用情況的檢視工具。它還提供了一種檢視CPU及記憶體使用情況的方法。
方法5
輸入:ps aux --sort -rss,這樣就能夠檢視記憶體啦!
擴充套件閱讀,以下內容您可能還感興趣。
linux 下怎麼檢視一個程序佔用記憶體大小
你好,方法如下:
可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令:
(1)top
top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員
可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令:
$ top -u oracle
內容解釋:
PID:程序的ID
USER:程序所有者
PR:程序的優先級別,越小越優先被執行
NInice:值
VIRT:程序佔用的虛擬記憶體
RES:程序佔用的實體記憶體
SHR:程序使用的共享記憶體
S:程序的狀態。S表示休眠,R表示正在執行,Z表示僵死狀態,N表示該程序優先值為負數
%e68a847a6431333361316666CPU:程序佔用CPU的使用率
%MEM:程序使用的實體記憶體和總記憶體的百分比
TIME+:該程序啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
COMMAND:程序啟動命令名稱
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
(2)pmap
可以根據程序檢視程序相關資訊佔用的記憶體情況,(程序號可以通過ps檢視)如下所示:
$ pmap -d 14596
(3)ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是實際記憶體
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5
其中rsz為實際記憶體,上例實現按記憶體排序,由大到小
linux下如何檢視資料夾大小?硬碟使用情況?記憶體使用情況?
1,資料夾大小,比如:du -sh /abc
2,硬碟分zhidao區,fdisk -l
檔案系統使用情況,版df -h
如果有用LVM,vgdisplay,lvdisplay
3,記憶體權使用,cat /proc/meminfo, free, top
怎樣正確檢視Linux的記憶體佔用情況
做了個24小時的穩定性測試,探討了Linux的Mem使用情況:
看記憶體最方便的命令是free -m,如:
[root@host ~]# free -m
total used free shared buffers cached
Mem: 1024 1005 19 0 9 782
-/+ buffers/cache: 212 811
Swap: 996 0 995
[root@host ~]#
從上看出這個Linux系統一共有記憶體zd1024M,但當前Linux 系統已經佔用的內記憶體有多少呢?大多數使用者容的答案是1005M,其實不然。
當前VPS佔用的記憶體應該是212M,也就是1005下面那個數字:212,代表已經佔用的記憶體。後面的那個811,代表當前Linux系統的可用記憶體。
"-/+ buffers/cache:"開頭的這行才是實際的佔用記憶體和可用記憶體。
所以,看記憶體使用情況,應該看"-/+ buffers/cache:"開頭的這一行,如果這一行最後的數字接近0,那麼說明Linux系統的記憶體快用完了,這時候Linux系統反應就比較慢。如果這個數字還比較大,那麼Linux系統還有較多記憶體可用,系統不應該慢。
在linux下,檢視一個執行中的程式,佔用了多少記憶體
top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序e5a48de588b6e79fa5e9819331333361326331的資源佔用狀況,類似於Windows的工作管理員
可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令:
$ top -u oracle
內容解釋:
PID:程序的ID
USER:程序所有者
PR:程序的優先級別,越小越優先被執行
NInice:值
VIRT:程序佔用的虛擬記憶體
RES:程序佔用的實體記憶體
SHR:程序使用的共享記憶體
S:程序的狀態。S表示休眠,R表示正在執行,Z表示僵死狀態,N表示該程序優先值為負數
%CPU:程序佔用CPU的使用率
%MEM:程序使用的實體記憶體和總記憶體的百分比
TIME+:該程序啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
COMMAND:程序啟動命令名稱
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
2、pmap
可以根據程序檢視程序相關資訊佔用的記憶體情況,(程序號可以通過ps檢視)如下所示:
$ pmap -d 14596
3、ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是實際記憶體
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5
其中rsz為實際記憶體,上例實現按記憶體排序,由大到小
Linux下怎麼檢視記憶體使用情況和CPU利用率?
1. 在系統維護的過程中,隨時可能有需要檢視 CPU 使用率,並根據相應資訊分析系統狀況的需要。在 CentOS 中,可以通過 top 命令來檢視 CPU 使用狀況。執行 top 命令後,CPU 使用狀態會以全屏的方式顯示,並且會處在對話的模式 -- 用基於 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 執行中敲 q 鍵一次)。
top命令是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員
可以直接使用top命令後,檢視%MEM的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令:
$ top -u oracle
2. 釋義:
PID:程序的ID
USER:程序所有者
PR:程序的優先級別,越小越優先被執行
NInice:值
VIRT:程序佔用的虛擬記憶體
RES:程序佔用的實體記憶體
SHR:程序使用的共享記憶體
S:程序的狀態。S表示休眠,R表示正在執行,Z表示僵死狀態,N表示該程序優先值為負數
%CPU:程序佔用CPU的使用率
%MEM:程序使用的實體記憶體和總記憶體的百分比
TIME+:該程序啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加值。
COMMAND:程序啟動命令名稱
3.操作例項:
在命令列中輸入 “top”
即可啟動 top
top 的全屏對話模式可分為3部分:系統資訊欄、命令輸入欄、程序列表欄。
第一部分 -- 最上部的 系統資訊欄 :
第一行(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)被頻繁使用的情況,將被視作實體記憶體不足而造成的。
第二部分 -- 中間部分的內部命令提示欄:
top 執行中可以通過 top 的內部命令對程序的顯示方式進行控制。內部命令如下表:
s
- 改變畫面更新頻率
l - 關閉或開啟第一部分第一行 top 資訊的表示
t - 關閉或開啟第一部分第二行 Tasks 和第三行 Cpus 資訊的表示
m - 關閉或開啟第一部分第四行 Mem 和 第五行 Swap 資訊的表示
N - 以 PID 的大小的順序排列表示程序列表(第三部分後述)
P - 以 CPU 佔用率大小的順序排列程序列表 (第三部分後述)
M - 以記憶體佔用率大小的順序排列程序列表 (第三部分後述)
h - 顯示幫助
n - 設定在程序列表所顯示程序的數量
q - 退出 top
s -
改變畫面更新週期
第三部分 -- 最下部分的程序列表欄:
以 PID 區分的程序列表將根據所設定的畫面更新時間定期的更新。通過 top 內部命令可以控制此處的顯示方式
pmap
可以根據程序檢視程序相關資訊佔用的記憶體情況,(程序號可以通過ps檢視)如下所示:
$ pmap -d 5647
ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是實際記憶體
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk
其中rsz為實際記憶體,上例實現按記憶體排序,由大到小
在Linux下檢視記憶體我們一般用free命令:
[root@scs-2 tmp]# free
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
下面是對這些數值的解釋:
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。
如上例:
2795064=16176+110652+2668236
接下來解釋什麼時候記憶體會被交換,以及按什麼方交換。 當可用記憶體少於額定值的時候,就會開會進行交換。
如何看額定值:
cat /proc/meminfo
[root@scs-2 tmp]# cat /proc/meminfo
MemTotal: 3266180 kB
MemFree: 17456 kB
Buffers: 111328 kB
Cached: 2664024 kB
SwapCached: 0 kB
Active: 467236 kB
Inactive: 2644928 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3266180 kB
LowFree: 17456 kB
SwapTotal: 2048276 kB
SwapFree: 1968116 kB
Dirty: 8 kB
Writeback: 0 kB
Mapped: 345360 kB
Slab: 112344 kB
Committed_AS: 535292 kB
PageTables: 2340 kB
VmallocTotal: 536870911 kB
VmallocUsed: 272696 kB
VmallocChunk: 536598175 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
用free -m檢視的結果:
[root@scs-2 tmp]# free -m
total used free shared buffers cached
Mem: 3189 3173 16 0 107 2605
-/+ buffers/cache: 460 2729
Swap: 2000 78 1921
檢視/proc/kcore檔案的大小(記憶體映象):
[root@scs-2 tmp]# ll -h /proc/kcore
-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore
備註:
佔用記憶體的測量
測量一個程序佔用了多少記憶體,linux為我們提供了一個很方便的方法,/proc目錄為我們提供了所有的資訊,實際上top等工具也通過這裡來獲取相應的資訊。
/proc/meminfo 機器的記憶體使用資訊
/proc/pid/maps pid為程序號,顯示當前程序所佔用的虛擬地址。
/proc/pid/statm 程序所佔用的記憶體
[root@localhost ~]# cat /proc/self/statm
654 57 44 0 0 334 0
輸出解釋
CPU 以及CPU0。。。的每行的每個引數意思(以第一行為例)為:
引數 解釋 /proc//status
Size (pages) 任務虛擬地址空間的大小 VmSize/4
Resident(pages) 應用程式正在使用的實體記憶體的大小 VmRSS/4
Shared(pages) 共享頁數 0
Trs(pages) 程式所擁有的可執行虛擬記憶體的大小 VmExe/4
Lrs(pages) 被映像到任務的虛擬記憶體空間的庫的大小 VmLib/4
Drs(pages) 程式資料段和使用者態的棧的大小 (VmData+ VmStk )4
dt(pages) 04
檢視機器可用記憶體
/proc/28248/>free
total used free shared buffers cached
Mem: 1023788 926400 97388 0 134668 503688
-/+ buffers/cache: 288044 735744
Swap: 1959920 89608 1870312
我們通過free命令檢視機器空閒記憶體時,會發現free的值很小。這主要是因為,在linux中有這麼一種思想,記憶體不用白不用,因此它儘可能的cache和buffer一些資料,以方便下次使用。但實際上這些記憶體也是可以立刻拿來使用的。
所以 空閒記憶體=free+buffers+cached=total-used
top命令 是Linux下常用的效能 分析工具 ,能夠實時顯示系統 中各個程序的資源佔用狀況,類似於Windows的任務管理 器。下面詳細介紹它的使用方法。
top - 02:53:32 up 16 days, 6:34, 17 users, load average: 0.24, 0.21, 0.24
Tasks: 481 total, 3 running, 474 sleeping, 0 stopped, 4 zombie
Cpu(s): 10.3%us, 1.8%sy, 0.0%ni, 86.6%id, 0.5%wa, 0.2%hi, 0.6%si, 0.0%st
Mem: 4042764k total, 4001096k used, 41668k free, 383536k buffers
Swap: 2104472k total, 7900k used, 2096572k free, 1557040k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32497 jacky 20 0 669m 222m 31m R 10 5.6 29:27.62 firefox
4788 yiuwing 20 0 257m 18m 13m S 5 0.5 5:42.44 konsole
5657 Liuxiaof 20 0 585m 159m 30m S 4 4.0 5:25.06 firefox
4455 xiefc 20 0 542m 124m 30m R 4 3.1 7:23.03 firefox
6188 Liuxiaof 20 0 191m 17m 13m S 4 0.5 0:01.16 konsole
統計資訊區前五行是系統整體的統計資訊。第一行是任務佇列資訊,同 uptime 命令的執行結果。其內容如下:
01:06:48 當前時間
up 1:22 系統執行 時間,格式為時:分
1 user 當前登入使用者 數
load average: 0.06, 0.60, 0.48 系統負載 ,即任務佇列的平均長度。
三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值。
第二、三行為程序和CPU的資訊。當有多個CPU時,這些內容可能會超過兩行。內容如下:
Tasks: 29 total 程序總數
1 running 正在執行的程序數
28 sleeping 睡眠的程序數
0 stopped 停止的程序數
0 zombie 殭屍程序數
Cpu(s): 0.3% us 使用者空間佔用CPU百分比
1.0% sy 核心 空間佔用CPU百分比
0.0% ni 使用者程序空間內改變過優先順序的程序佔用CPU百分比
98.7% id 空閒CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si
最後兩行為記憶體 資訊。內容如下:
Mem: 191272k total 實體記憶體總量
173656k used 使用的實體記憶體總量
17616k free 空閒記憶體總量
22052k buffers 用作核心快取 的記憶體量
Swap: 192772k total 交換區總量
0k used 使用的交換區總量
192772k free 空閒交換區總量
123988k cached 緩衝的交換區總量。
記憶體中的內容被換出到交換區,而後又被換入到記憶體,但使用過的交換區尚未被覆蓋,
該數值即為這些內容已存在於記憶體中 的交換區的大小。
相應的記憶體再次被換出時可不必再對交換區寫入。
程序資訊區統計資訊區域的下方顯示了各個程序的詳細資訊。首先來認識一下各列的含義。
序號 列名 含義
a PID 程序id
b PPID 父程序id
c RUSER Real user name
d UID 程序所有者的使用者id
e USER 程序所有者的使用者名稱
f GROUP 程序所有者的組名
g TTY 啟動程序的終端名。不是從終端啟動的程序則顯示為 ?
h PR 優先順序
i NI nice值。負值表示高優先順序,正值表示低優先順序
j P 最後使用的CPU,僅在多CPU環境 下有意義
k %CPU 上次更新到現在的CPU時間佔用百分比
l TIME 程序使用的CPU時間總計,單位秒
m TIME+ 程序使用的CPU時間總計,單位1/100秒
n %MEM 程序使用的實體記憶體 百分比
o VIRT 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
p SWAP 程序使用的虛擬記憶體中,被換出的大小,單位kb。
q RES 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
r CODE 可執行程式碼佔用的物理 記憶體大小,單位kb
s DATA 可執行程式碼以外的部分(資料 段+棧)佔用的物理 記憶體大小,單位kb
t SHR 共享記憶體大小,單位kb
u nFLT 頁面錯誤次數
v nDRT 最後一次寫入到現在,被修改過的頁面數。
w S 程序狀態。
D =不可中斷的睡眠狀態
R =執行
S =睡眠
T =跟蹤/停止
Z =殭屍程序
x COMMAND 命令名/命令列
y WCHAN 若該程序在睡眠,則顯示睡眠中的系統函式名
z Flags 任務標誌,參考 sched.h
預設情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內容。
更改顯示內容通過 f 鍵可以選擇顯示的內容。按 f 鍵之後會顯示列的列表,按 a-z 即可顯示或隱藏對應的列,最後按回車鍵確定。
按 o 鍵可以改變列的顯示順序。按小寫的 a-z 可以將相應的列向右移動,而大寫的 A-Z 可以將相應的列向左移動。最後按回車鍵確定。
按大寫的 F 或 O 鍵,然後按 a-z 可以將程序按照相應的列進行排序。而大寫的 R 鍵可以將當前的排e799bee5baa6e4b893e5b19e31333337396333序倒轉。
==============================
top命令使用過程中,還可以使用一些互動的命令來完成其它引數的功能。這些命令是通過快捷鍵啟動的。
<空格>:立刻重新整理。
P:根據CPU使用大小進行排序。
T:根據時間、累計時間排序。
q:退出top命令。
m:切換顯示記憶體資訊。
t:切換顯示程序和CPU狀態資訊。
c:切換顯示命令名稱和完整命令列。
M:根據使用記憶體大小進行排序。
W:將當前設定寫入~/.toprc檔案中。這是寫top配置檔案的推薦方法。
可以看到,top命令是一個功能十分強大的監控系統的工具,對於系統管理員而言尤其重要。但是,它的缺點是會消耗很多系統資源。
應用例項
使用top命令可以監視指定使用者,預設情況是監視所有使用者的程序。如果想檢視指定使用者的情況,在終端中按“U”鍵,然後輸入使用者名稱,系統就會切換為指定使用者的程序執行介面。
a.作用
free命令用來顯示記憶體的使用情況,使用許可權是所有使用者。
b.格式
free [-b -k -m] [-o] [-s delay] [-t] [-V]
c.主要引數
-b -k -m:分別以位元組(KB、MB)為單位顯示記憶體使用情況。
-s delay:顯示每隔多少秒數來顯示一次記憶體使用情況。
-t:顯示記憶體總和列。
-o:不顯示緩衝區調節列。
d.應用例項
free命令是用來檢視記憶體使用情況的主要命令。和top命令相比,它的優點是使用簡單,並且只佔用很少的系統資源。通過-S引數可以使用free命令不間斷地監視有多少記憶體在使用,這樣可以把它當作一個方便實時監控器。
#free -b -s5
使用這個命令後終端會連續不斷地報告記憶體使用情況(以位元組為單位),每5秒更新一次。
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/226eqk.html