我正在尝试在Linux系统上为产品计算适当的大小调整数据,并希望确定内存使用情况。到目前为止我接近它的方式是运行:
cat /proc/<pid>/status
查看输出时,但我不确定哪些数字是相关的。例如:
VmPeak: 19662464 kB VmSize: 18344416 kB VmLck: 0 kB VmHWM: 5942980 kB VmRSS: 4734832 kB VmData: 2108608 kB VmStk: 120 kB VmExe: 9256 kB VmLib: 304448 kB VmPTE: 10316 kB
我认为我会使用VmSize(虚拟内存对吗?)或VmRSS(私有内存对吗?)或某种组合来确定这一点,但我不确定。有关正确计算Linux中进程内存使用情况的指示吗?
答案 0 :(得分:10)
我认为答复没有回答您的具体问题。关键点在于您需要注意的重要值是您的过程在系统中使用的RAM内存。
因此:
干杯,
安东尼奥
答案 1 :(得分:9)
有些命令可以帮助您确定给定进程的内存使用情况:
尝试 pmap 或 pmap -x
你也可以使用旧的和好的顶部命令
vmstat 也很有用。
答案 2 :(得分:5)
可以通过读取(例如,使用cat
命令)/proc/1234/maps
或/proc/1234/smaps
文件来给出关于pid 1234的处理的存储器映射的更精确的信息。您也可以使用pmap
命令,例如pmap 1234