檢視linux程序記憶體的使用情況

2021-09-01 19:08:22 字數 2197 閱讀 8646

要檢視linux記憶體的使用情況,使用free命令 加上-m選項是以m來表示的,不加是以k來表示的

[img]

total:總計物理記憶體的大小。

used:已使用多大。

free:可用有多少。

shared:多個程序共享的記憶體總額。

buffers/cached:磁碟快取的大小。

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

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

第三行所指的是從應用程式角度來看,對於應用程式來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高檔案讀取的效能,當應用程式需在用到記憶體的時候,buffer/cached會很快地被**。

所以從應用程式的角度來說,可用記憶體=系統free memory+buffers+cached.

1244664=802880 + 121160 + 320624 也就是還有1g多的記憶體可以用

可以看出 這個值就是-/+ buffers/cache: 這一行的free

所以檢視linux的記憶體查大概用情況就看-/+ buffers/cache:這一行就可以

這裡實際占用300832 也就是300m左右 還可以使用1244664 1個多g

檢視某乙個程序的記憶體使用情況

第一種方法:ps aux|grep 程序名

例如:ps aux|grep pencil

alecyan 2811 0.0 2.8 112012 44520 ? sl 11:06 0:00 pencil

alecyan 2837 0.0 0.0 6364 868 pts/0 s+ 11:14 0:00 grep --color=auto pencil

看到兩個程序,第乙個就是我們要找的程序,第二個是我們用grep的命令時的程序

上面的112012是任務虛擬位址空間的大小 ,44520應用程式正在使用的物理記憶體的大小,這個44520其實就是我們關心的

第二種方法:

cat /proc/程序號/status

例如:cat /proc/2811/status

ame: pencil

state: s (sleeping)

tgid: 2811

pid: 2811

ppid: 1281

tracerpid: 0

uid: 1000 1000 1000 1000

gid: 1000 1000 1000 1000

fdsize: 32

groups: 4 24 27 30 46 108 124 1000

vmpeak: 112016 kb

vmsize: 111472 kb

vmlck: 0 kb

vmpin: 0 kb

vmhwm: 44520 kb

vmrss: 44108 kb

vmdata: 24612 kb

vmstk: 136 kb

vmexe: 816 kb

vmlib: 70332 kb

vmpte: 200 kb

vmswap: 0 kb

threads: 2

sigq: 0/11946

sigpnd: 0000000000000000

shdpnd: 0000000000000000

sigblk: 0000000000000000

sigign: 0000000000001000

sigcgt: 0000000180010000

capinh: 0000000000000000

capeff: 0000000000000000

capbnd: 0000001fffffffff

seccomp: 0

cpus_allowed: ff

cpus_allowed_list: 0-7

mems_allowed: 1

mems_allowed_list: 0

voluntary_ctxt_switches: 771

nonvoluntary_ctxt_switches: 984

任務虛擬位址空間的大小 vmsize = 111472

應用程式正在使用的物理記憶體的大小 vmrss = 44108 這個就是現在實際占用的

檢視LINUX程序記憶體占用情況

可以直接使用top命令後,檢視 mem的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令 1 top top命令是linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似於windows的任務管理器 可以直接使用to...

檢視LINUX程序記憶體占用情況

可以直接使用top命令後,檢視 mem的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令 1 top top命令是linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似於windows的任務管理器 可以直接使用to...

檢視LINUX程序記憶體占用情況

可以直接使用top命令後,檢視 mem的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令 1 top top命令是linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似於windows的任務管理器 可以直接使用to...