BusyBox v1.13.3 ,有很多命令在上面都无法使用,我本打算查看我进程所占用的物理内存,所以使用top命令,但是返回如下:


armbian查看Python armbian查看运存占用_linux

从上面我不能看到"./gyjd -qws"进程所使用的物理内存,只有虚拟内存的显示。在网上查阅相关资料后知道在/proc/pid/status可以查看,pid为你要查看进程的进程号,比如我要查看的进程"./gyjd -qws"就得进入/proc/710/status进行查看,输入,返回如下:

armbian查看Python armbian查看运存占用_linux_02


下面对相关参数进行解释:

Name       : 应用程序或命令的名字
State        :  任务的状态,运行/睡眠/僵死/ 
Tgid         : 线程组号
Pid           :任务ID
Ppid         :父进程ID
TracerPid :接收跟踪该进程信息的进程的ID号

Uid:    0       0       0       0
Gid:    0       0       0       0


解释:


第一列数字(RUID):实际用户ID,指的是进程执行者是谁.


第二列数字(EUID):有效用户ID,指进程执行时对文件的访问权限.


第三列数字(SUID):保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effectiv user ID.


第四列数字(FSUID):目前进程的文件系统的用户识别码.一般情况下,文件系统的用户识别码(fsuid)与有效的用户识别码(euid)是相同的.



FDSize: 文件描述符的最大个数,file->fds
Groups


进程地址空间的大小,当前进程运行过程中占用内存的峰值(虚拟内存)
VmSize(KB)     :任务虚拟地址空间的大小 (total_vm-reserved_vm),其中total_vm为进程的地址空间的大小,reserved_vm:进程在预留或特殊的内存间的物理页
VmLck(KB)      :任务已经锁住的物理内存的大小。锁住的物理内存不能交换到硬盘 (locked_vm)


VmHWM(KB)   :  程序得到分配到物理内存的峰值
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     :能被当前进程执行的程序的继承的能力
CapPrm     :进程能够使用的能力,可以包含CapEff中没有的能力,这些能力是被进程自己临时放弃的
CapEff     :是CapPrm的一个子集,进程放弃没有必要的能力有利于提高安全性

voluntary_ctxt_switches    :进程主动切换的次数
nonvoluntary_ctxt_switches :进程被动切换的次数