linux - 我如何知道哪个进程正在使用交换?

标签 linux memory swap

有很多可用内存(大约 4G),但在我的 Fedora 盒子中使用了交换(200+M)。

我想知道哪个进程正在使用交换。我怎么知道。

pstop 只显示内存使用情况。

提前致谢。

最佳答案

改进cyberciti.biz 命令以显示更简洁的答案:

(echo "COMM PID SWAP"; for file in /proc/*/status ; do awk '/^Pid|VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | grep kB | grep -wv "0 kB" | sort -k 3 -n -r) | column -t

示例输出:

COMM             PID    SWAP  
dockerd          662    2736  kB
skypeforlinux    26865  1320  kB
NetworkManager   303    1112  kB
slim             392    1028  kB
redis-server     350    204   kB

关于linux - 我如何知道哪个进程正在使用交换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30481314/

相关文章:

php - 使用 shell_exec 运行 shell 命令

android - ffmpeg for android build - 是否完整

linux - 查询 linux 中套接字上的发送缓冲区使用情况

java - 方法创建的对象在退出时删除

java - 以编程方式交换 JFrame 中的两个 JPanel

linux - 使用 ngxtop 监控 Nginx

Azure 内存资源耗尽

c - 如何释放C中的内存

Java 值传递交换方法

c - 在函数中交换两个数组的指针