Linux下查看某个进程所占用的资源

    xiaoxiao2021-03-25  147

    在 Linux 上进行开发和运营维护的时候,免不了要查看某一个程序所占用内存的情况。有很多个命令都可以达到我们的需求,这里给大家列举几个: 1: top -p pid 查看程序的情况 2: ps -aux | grep process_name 3: cat /proc/pid/status 这里会打印出当前进程详细的情况,其中,内存是 VmRSS。 注:pid是要替换成一个id数字的。  

    Linux中/proc/[pid]/status详细说明

    Name: cat  State: R (running)  SleepAVG: 88%  Tgid: 5783  Pid: 5783  PPid: 5742  TracerPid: 0  Uid: 0 0 0 0  Gid: 0 0 0 0  FDSize: 256  Groups: 0 1 2 3 4 6 10  VmSize: 6588 kB  VmLck: 0 kB  VmRSS: 400 kB  VmData: 144 kB  VmStk: 2040 kB  VmExe: 14 kB  VmLib: 1250 kB  StaBrk: 0804e000 kB  Brk: 088df000 kB  StaStk: bfe03270 kB  ExecLim: 0804c000  Threads: 1  SigPnd: 0000000000000000  ShdPnd: 0000000000000000  SigBlk: 0000000000000000  SigIgn: 0000000000000000  SigCgt: 0000000000000000  CapInh: 0000000000000000  CapPrm: 00000000fffffeff  CapEff: 00000000fffffeff  输出解释  参数 解释  Name 应用程序或命令的名字  State 任务的状态,运行/睡眠/僵死/  SleepAVG 任务的平均等待时间(以nanosecond为单位),交互式任务因为休眠次数多、时间长,它们的 sleep_avg 也会相应地更大一些,所以计算出来的优先级也会相应高一些。  Tgid 线程组号  Pid 任务ID  Ppid 父进程ID  TracerPid 接收跟踪该进程信息的进程的ID号  Uid Uid euid suid fsuid  Gid Gid egid sgid fsgid  FDSize 文件描述符的最大个数,file->fds  Groups  VmSize(KB) 任务虚拟地址空间的大小 (total_vm-reserved_vm),其中total_vm为进程的地址空间的大小,reserved_vm:进程在预留或特殊的内存间的物理页  VmLck(KB) 任务已经锁住的物理内存的大小。锁住的物理内存不能交换到硬盘 (locked_vm)  VmRSS(KB) 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss)  VmData(KB) 程序数据段的大小(所占虚拟内存的大小),存放初始化了的数据; (total_vm-shared_vm-stack_vm)  VmStk(KB) 任务在用户态的栈的大小 (stack_vm)  VmExe(KB) 程序所拥有的可执行虚拟内存的大小,代码段,不包括任务使用的库 (end_code-start_code)  VmLib(KB) 被映像到任务的虚拟内存空间的库的大小 (exec_lib)  VmPTE 该进程的所有页表的大小,单位:kb  Threads 共享使用该信号描述符的任务的个数,在POSIX多线程序应用程序中,线程组中的所有线程使用同一个信号描述符。  SigQ 待处理信号的个数  SigPnd 屏蔽位,存储了该线程的待处理信号  ShdPnd 屏蔽位,存储了该线程组的待处理信号  SigBlk 存放被阻塞的信号  SigIgn 存放被忽略的信号  SigCgt 存放被俘获到的信号  CapInh Inheritable,能被当前进程执行的程序的继承的能力  CapPrm Permitted,进程能够使用的能力,可以包含CapEff中没有的能力,这些能力是被进程自己临时放弃的,CapEff是CapPrm的一个子集,进程放弃没有必要的能力有利于提高安全性  CapEff Effective,进程的有效能力 
    转载请注明原文地址: https://ju.6miu.com/read-4302.html

    最新回复(0)