Linux下查询进程占用的内存方法总结
    前言
    大家好,这里是浩道(Linux),主要给大家分享Linux、(Python)、(网络通信)、(网络)安全等相关的IT知识平台。
    今天浩道跟大家一篇关于运维牛人如何在Linux下挖出吃内存的进程,可以说是相当干的一个运维技能了,一起看看吧!
    linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」。现在想要查询该进程占用的内存大小。linux命令行下有很多的工具进行查看,现总结常见的几种方式。 grep命令查看进程
   
    通过进程的 status
     
    [root@web3_u ~]# cat /proc/25282/statusName: php-cgiState: S (sleeping)Tgid: 25282(Pi)d: 25282PPid: 27187Tr(ac)erPid: 0Uid: 99 99 99 99Gid: 99 99 99 99Utrace: 0F(DSi)ze: 256Groups: 99VmPeak: 496388 kBVmSize: 438284 kBVmLck: 0 kBVmHWM: 125468 kBVm(RS)S: 113612 kBVmData: 92588 kBVmStk: 100 kBVmExe: 6736 kBVmLib: 18760 kBVmP(TE): 528 kBVmSwap: 0 kBThre(ad)s: 1SigQ: 0/46155SigPnd: 0000000000000000ShdPnd: 0000000000000000SigBlk: 0000000000000000SigIgn: 0000000000001000SigCgt: 0000000184000004CapInh: 0000000000000000CapPrm: 0000000000000000CapEff: 0000000000000000CapBnd: ffffffffffffffff(Cpu)s_allowed: fCpus_allowed_list: 0-3(Mems)_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001Mems_allowed_list: 0voluntary_ctxt_switches: 68245nonvoluntary_ctxt_switches: 15751     
    VmRSS: 113612 kB 表示占用的物理内存
    通过 pmap
     
    [root@web3_u ~]# pmap -x 2528225282: /usr/local/php/bin/php-cgi --fpm --fpm-config /usr/local/php/fAddress Kbytes RSS Dirty Mode Mapping0000000000400000 6736 2692 0 r-x-- php-cgi0000000000c93000 264 196 120 rw--- php-cgi0000000000cd5000 60 48 48 rw--- [ anon ]. . .00007fd6226bc000 4 4 4 rw--- ld-2.12.so00007fd6226bd000 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/f」     
    3、RSS :占用的物理内存 113612KB
    通过 smaps
     
    [root@web3_u ~]# cat /proc/25282/smaps | grep '^Rss:' | awk '{sum +=$2} END{print sum}'113612     
    求和得到实际占用物理内存为 113612
    通过 ps 命令
     
    [root@web3_u ~]# ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | awk '$1 ~ /25
282/'25282 php-cgi /usr/local/php/bin/php-cgi 0.0 113612 438284 Oct09 nobody 99     
    awk 过滤 25282 进程号,得到第5列「rsz」的内存大小为「113612」
    输出php-cgi进程占用的物理内存,并从高到低进行排序
     
    [root@web3_u ~]# ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep php-cgi | s(or)t -k5nr     
    输出结果
     
    23946 php-cgi /usr/local/php/bin/php-cgi 0.0 129540 440000 Oct06 nobody 9924418 php-cgi /usr/local/php/bin/php-cgi 0.0 129336 437684 Oct06 nobody 9918973 php-cgi /usr/local/php/bin/php-cgi 0.0 129268 440176 Oct06 nobody 9917219 php-cgi /usr/local/php/bin/php-cgi 0.0 126
588 439840 Oct06 nobody 996996 php-cgi /usr/local/php/bin/php-cgi 0.0 124876 438104 Oct09 nobody 9923850 php-cgi /usr/local/php/bin/php-cgi 0.0 122984 440036 Oct09 nobody 9928310 php-cgi /usr/local/php/bin/php-cgi 0.0 122920 436456 Oct09 nobody 99     

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。