浙江11选5号码推荐前一推荐号码推荐:Linux下查詢進程占用內存的方法都有哪些?

浙江11选5任3遗漏 www.ehxis.com 今天小編要跟大家分享的文章是關于Linux下查詢進程占用內存的方法都有哪些?假設現在有一個「php-cgi」的進程 ,進程id為「25282」。現在想要查詢該進程占用的內存大小。Linux命令行下有很多的工具進行查看, Linux入門新手和正在Linux學習的小伙伴快來看一看吧,希望能夠對大家有所幫助!

Linux下查詢進程占用內存的方法都有哪些?

一、通過進程的 status

[[email protected]_u ~]# cat /proc/25282/status

Name: php-cgi

State: S (sleeping)

Tgid: 25282

Pid: 25282

PPid: 27187

TracerPid: 0

Uid: 99 99 99 99

Gid: 99 99 99 99

Utrace: 0

FDSize: 256

Groups: 99

VmPeak: 496388 kB

VmSize: 438284 kB

VmLck: 0 kB

VmHWM: 125468 kB

VmRSS: 113612 kB

VmData: 92588 kB

VmStk: 100 kB

VmExe: 6736 kB

VmLib: 18760 kB

VmPTE: 528 kB

VmSwap: 0 kB

Threads: 1

SigQ: 0/46155

SigPnd: 0000000000000000

ShdPnd: 0000000000000000

SigBlk: 0000000000000000

SigIgn: 0000000000001000

SigCgt: 0000000184000004

CapInh: 0000000000000000

CapPrm: 0000000000000000

CapEff: 0000000000000000

CapBnd: ffffffffffffffff

Cpus_allowed: f

Cpus_allowed_list: 0-3

Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001

Mems_allowed_list: 0

voluntary_ctxt_switches: 68245

nonvoluntary_ctxt_switches: 15751

VmRSS: 113612 kB 表示占用的物理內存

二、通過 pmap

[[email protected]_u ~]# pmap -x 25282

25282: /usr/local/php/bin/php-cgi –fpm –fpm-config /usr/local/php/etc/php-fpm.conf

Address Kbytes RSS Dirty Mode Mapping

0000000000400000 6736 2692 0 r-x– php-cgi

0000000000c93000 264 196 120 rw— php-cgi

0000000000cd5000 60 48 48 rw— [ anon ]

. . .

00007fd6226bc000 4 4 4 rw— ld-2.12.so

00007fd6226bd000 4 4 4 rw— [ anon ]

00007fff84b02000 96 96 96 rw— [ stack ]

00007fff84bff000 4 4 0 r-x– [ anon ]

ffffffffff600000 4 0 0 r-x– [ anon ]

—————- —— —— ——

total kB 438284 113612 107960

關鍵信息點

1、進程ID

2、啟動命令「/usr/local/php/bin/php-cgi –fpm –fpm-config /usr/local/php/etc/php-fpm.conf」

3、RSS :占用的物理內存 113612KB

三、通過 smaps

[[email protected]_u ~]# cat /proc/25282/smaps | grep ‘^Rss:’ \

| awk ‘{sum +=$2} END{print sum}’

113612

求和得到實際占用物理內存為 113612

四、通過 ps 命令

[[email protected]_u ~]# ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’ \

| awk ‘$1 ~ /25282/’

25282 php-cgi /usr/local/php/bin/php-cgi 0.0 113612 438284 Oct09 nobody 99

awk 過濾 25282 進程號,得到第5列「rsz」的內存大小為「113612」

輸出php-cgi進程占用的物理內存,并從高到低進行排序

[[email protected]_u ~]# ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’ \

| grep php-cgi | sort -k5nr

輸出結果

23946 php-cgi /usr/local/php/bin/php-cgi 0.0 129540 440000 Oct06 nobody 99

24418 php-cgi /usr/local/php/bin/php-cgi 0.0 129336 437684 Oct06 nobody 99

18973 php-cgi /usr/local/php/bin/php-cgi 0.0 129268 440176 Oct06 nobody 99

17219 php-cgi /usr/local/php/bin/php-cgi 0.0 126588 439840 Oct06 nobody 99

6996 php-cgi /usr/local/php/bin/php-cgi 0.0 124876 438104 Oct09 nobody 99

23850 php-cgi /usr/local/php/bin/php-cgi 0.0 122984 440036 Oct09 nobody 99

28310 php-cgi /usr/local/php/bin/php-cgi 0.0 122920 436456 Oct09 nobody 99

其中rsz為實際內存,上例實現按內存排序,由大到小

TOP 命令輸出的列

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

25282 nobody 20 0 428m 110m 93m S 0.0 1.9 0:34.42 php-cgi

輸出列信息

1. PID 25282

2. 用戶 nobody

3. 虛擬內存 428M

4. 物理內存 110M 110*1024= 112640 「和前面計算出來的值基本一致」

5. 共享內存 93M

6. 進程使用的物理內存和總內存的百分比 1.9 %

PID:進程的ID

USER:進程所有者

PR:進程的優先級別,越小越優先被執行

NInice:值

VIRT:進程占用的虛擬內存

RES:進程占用的物理內存

SHR:進程使用的共享內存

S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數

%CPU:進程占用CPU的使用率

%MEM:進程使用的物理內存和總內存的百分比

TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。

COMMAND:進程啟動命令名稱

按P

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

16036 root 20 0 8902m 8.6g 480 R 100.0 36.6 0:33.15 redis-server

12934 root 20 0 8902m 8.6g 1072 S 5.5 36.6 285:37.81 redis-server

969 root 20 0 0 0 0 D 4.2 0.0 277:14.85 flush-252:16

1304 root 23 3 1689m 50m 3264 S 4.2 0.2 1445:03 xs-searchd

1294 root 20 0 14928 928 584 S 3.5 0.0 635:05.31 xs-indexd

1287 nobody 20 0 12884 772 576 S 2.8 0.0 833:11.42 dnsmasq

1302 root 23 3 1113m 39m 3244 S 0.7 0.2 1437:57 xs-searchd

4444 www 20 0 280m 43m 884 S 0.7 0.2 27:43.92 nginx

1 root 20 0 19232 1160 868 S 0.0 0.0 0:06.75 init

按 P .表示按cpu排序,默認也是按cpu排序

按M

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

12934 root 20 0 8902m 8.6g 1072 S 6.0 36.6 285:39.77 redis-server

16036 root 20 0 8902m 8.6g 480 R 100.0 36.6 1:11.42 redis-server

1236 www 20 0 1053m 209m 6556 S 0.0 0.9 4:40.70 php-cgi

1231 www 20 0 1034m 146m 6536 S 0.0 0.6 4:20.82 php-cgi

1184 www 20 0 1043m 119m 6584 S 0.0 0.5 4:21.85 php-cgi

按M 。 表示按占用內存排序。 第一列 redis服務器占用了8.6G的內存 。 這個內存和redis info

[[email protected]_u ~]# redis-cli info memory

# Memory

used_memory_human:8.32G

基本相同。

[[email protected]_u ~]# top -u www

top – 22:09:01 up 67 days, 14:16, 1 user, load average: 0.61, 0.90, 0.98

Tasks: 283 total, 2 running, 281 sleeping, 0 stopped, 0 zombie

Cpu(s): 3.9%us, 1.0%sy, 0.5%ni, 89.7%id, 4.6%wa, 0.0%hi, 0.3%si, 0.0%st

Mem: 24542176k total, 21130060k used, 3412116k free, 1750652k buffers

Swap: 524280k total, 0k used, 524280k free, 4039732k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

681 www 20 0 855m 25m 5796 S 0.0 0.1 0:47.00 php-cgi

1181 www 20 0 887m 57m 6484 S 0.0 0.2 4:41.66 php-cgi

1183 www 20 0 864m 34m 6320 S 0.0 0.1 3:52.39 php-cgi

1184 www 20 0 1043m 119m 6584 S 0.0 0.5 4:21.85 php-cgi

1185 www 20 0 869m 39m 6376 S 0.0 0.2 3:57.84 php-cgi

1186 www 20 0 886m 56m 6244 S 0.0 0.2 3:44.75 php-cgi

1187 www 20 0 926m 66m 6480 S 0.0 0.3 4:16.12 php-cgi

1188 www 20 0 890m 60m 6288 S 0.0 0.3 4:13.35 php-cgi

1189 www 20 0 892m 62m 6408 S 0.0 0.3 4:06.60 php-cgi

-u 指定用戶。 php-cgi占用的內存在60M左右

五、按進程消耗內存多少排序的方法

(一)通過 ps 命令

第一種方法

ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’ | sort -k5nr

第二種方法

ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user,uid’ –sort -rsz

輸出結果

[[email protected]_u ~]# ps -e -o ‘pid,comm,args,pcpu,rsz,vsz,stime,user’ | sort -k5nr

23946 php-cgi /usr/local/php/bin/php-cgi 0.0 129540 440000 Oct06 nobody

24418 php-cgi /usr/local/php/bin/php-cgi 0.0 129336 437684 Oct06 nobody

18973 php-cgi /usr/local/php/bin/php-cgi 0.0 129268 440176 Oct06 nobody

17219 php-cgi /usr/local/php/bin/php-cgi 0.0 126588 439840 Oct06 nobody

6996 php-cgi /usr/local/php/bin/php-cgi 0.0 125056 438104 Oct09 nobody

23850 php-cgi /usr/local/php/bin/php-cgi 0.0 122984 440036 Oct09 nobody

參數解析:

1. -e 顯示所有進程

2. -o 定制顯示信息

3. pid 進程ID

4. comm 進程名

5. args 啟動命令

6. pcpu 占用CPU 百分比

7. rsz 占用物理內存大小

8. vsz 占用虛擬內存大小

9. stime 進程啟動時間

10. user 啟動用戶

以第一行為例

進程ID 23946

進程名 php-cgi

啟動命令 /usr/local/php/bin/php-cgi

占用CPU 0

占用物理內存 129540

占用虛擬內存 440000

啟動時間 Oct06

啟動用戶 nobody

(二)通過 top 命令

top命令默認是以CPU排序輸出的,按字母「M」,可以按內存占用大小進行排序顯示

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

23946 nobody 20 0 429m 126m 107m S 0.0 2.2 1:15.01 php-cgi

24418 nobody 20 0 427m 126m 109m S 0.0 2.2 1:19.56 php-cgi

18973 nobody 20 0 429m 126m 107m S 0.0 2.2 1:20.18 php-cgi

17219 nobody 20 0 429m 123m 104m S 0.0 2.1 1:23.60 php-cgi

6996 nobody 20 0 427m 122m 105m S 0.0 2.1 1:05.27 php-cgi

23850 nobody 20 0 429m 120m 101m S 0.0 2.1 1:02.43 php-cgi

輸出參數介紹

1. PID:進程的ID

2. USER:進程所有者

3. VIRT:進程占用的虛擬內存

4. RES:進程占用的物理內存

5. SHR:進程使用的共享內存

6. S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數

7. %CPU:進程占用CPU的使用率

8. %MEM:進程使用的物理內存和總內存的百分比

9. TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。

通過比較進程ID 「23946」,top 命令和 ps 命令輸出的結果基本保持一致

以上就是小編今天為大家分享的關于Linux下查詢進程占用內存的方法都有哪些?的文章希望本篇文章能夠對正在從事Linux相關工作的小伙伴們有所幫助。想要了解更多Linux相關知識的小伙伴記得關注浙江11选5任3遗漏官網。最后祝愿小伙伴們工作順利哦!

【免責聲明:本文圖片及文字信息均由小編轉載自網絡,旨在分享提供閱讀,版權歸原作者所有,如有侵權請聯系我們進行刪除?!?/p>

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code