在Linux系统中,你可以使用`top`命令或者`free`命令配合其他工具来查看系统的内存占用情况。如果你只是关心查看到内存消耗最多的前10个进程,最简单的方式是结合`ps`命令以及`head`命令来做到这一点。
这里提供两种方法:
方法一:使用`ps`与`awk`
此方法用于查看内存占用较高的进程。假设您想要查看按RES(实际)使用的内存占用最大的前10个进程:
sh
ps eo %mem,%cpu,comm,exe sort=%mem | head n 11
解释:
`e`: 显示所有进程。
`o %mem,%cpu,comm,exe`: 指定输出格式,这里显示了占用的内存百分比(%MEM)、占用CPU资源的比例、进程名(COMMAND),和可执行文件(EXE)。
`sort=%mem`: 表示按照按内存占用百分比倒序(降序)排序。
`head n 11`: 显示排好序后的结果顶部的前10条记录。我们加上"n 11"是为了解决命令的表头占用一行的问题。
方法二:使用`top`
`top`是一个常用的实时交互式系统监控工具。通过它可以看到系统的整体运行状态及各个进程的信息,其中包括内存的消耗:
直接输入`top`进入后,在终端上观察一段时间。你可以看到每个进程占用的内存情况,虽然它不会直接给你前十名,但可以方便查看实时的进程排名信息。如果你想将结果保存在一个文件或直接在控制台获取更精确的排序,可以在进入`top`后使用`o`键排序,并通过`W`来写入默认排序以保持每次启动`top`时的配置。然而,这种方式不如上面的方法直接。
如果想要从`top`导出排序的结果,可以通过管道`|`连接命令到文件或进一步过滤,这会比较复杂一点,不是最常用的方法,但也是可行的。
发表评论