我想获得从$pid
. 这是我想出的最简单的方法:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
Run Code Online (Sandbox Code Playgroud)
是否有任何命令或任何更简单的方法来获取所有后代进程的完整列表?
我想获得父进程为 $pid 的所有进程的列表。这是我想出的最简单的方法:
pstree -p $pid | tr "\n" " " |sed "s/[^0-9]/ /g" |sed "s/\s\s*/ /g"
是否有任何命令或任何更简单的方法来获取子进程列表?
谢谢!
我有一个 Debian Sid 盒子,大约一个月前刚安装,目前没有运行桌面应用程序。
我尝试运行的任何命令(通过 ssh)都会使硬盘工作非常困难。几周前,该系统在运行 Ubuntu 8.04 时完美运行。硬件应该没问题,智能工具报告没有问题,也没有进行内存检查等。
我怀疑问题与交换有关:
$ free -h
total used free shared buffers cached
Mem: 998M 986M 12M 0B 464K 904M
-/+ buffers/cache: 81M 917M
Swap: 511M 511M 0B
Run Code Online (Sandbox Code Playgroud)
测试的东西,我看到我无法在不重新启动的情况下禁用交换,即使大多数物理内存用于缓存:
# swapoff -a
swapoff: /swapfile: swapoff failed: Cannot allocate memory
Run Code Online (Sandbox Code Playgroud)
运行此stackoverflow answer 中提到的脚本时,交换使用率最高的进程仅使用了 1.5megs,总数为:
"Overall swap used: 18376 kB"
Run Code Online (Sandbox Code Playgroud)
...这远不是 htop 或免费报告的一半。
我试图改变swappiness
到1
半个月前,但没有区别(相同的内存使用模式)。
知道什么可能是罪魁祸首吗?
编辑:这里的/proc/meminfo
内容(类似的情况,但 702megs 的缓存而不是 904,并且铬仍然打开):
MemTotal: 1022464 kB
MemFree: 14344 kB
Buffers: 192 …
Run Code Online (Sandbox Code Playgroud)