老宋的地盘

 找回密码
 我要加入
搜索
老宋 首页 文章 技术 查看内容

如何使用Linux查看内存占用前10

2024-1-5 14:40| 发布者: herosrx| 查看: 169| 评论: 0

摘要: 一、top命令查看内存占用top Top命令是一个常用的Linux系统性能分析工具,可以动态实时地查看系统进程的运行状态,并且可以按照不同的方式进行排序,其中之一就是按照内存占用来排序。执行top命令后,会在终端中显示 ...

一、top命令查看内存占用

top

Top命令是一个常用的Linux系统性能分析工具,可以动态实时地查看系统进程的运行状态,并且可以按照不同的方式进行排序,其中之一就是按照内存占用来排序。

执行top命令后,会在终端中显示出系统的运行状态,包括CPU、内存、进程等,其中内存占用部分如下:

%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8048928 total,  1836760 free,  4350188 used,  1868980 buff/cache

可以看到,KiB Mem后面是系统的内存使用情况,其中total表示总共的内存大小,free表示空闲的内存大小,used表示已经使用的内存大小,buff/cache表示用于缓存的内存大小。

按下M键,可以按照内存占用来排序,然后再按照Shift + P键,可以将进程按照内存占用进行排序,最后按照q键退出。

二、查看内存详细信息

cat /proc/meminfo

上面的命令可以查看系统的内存详细信息,包括内存的总量、空闲的内存、已经使用的内存、缓存的内存、交换分区等。

执行上面的命令后,会输出如下的结果:

MemTotal:        8048928 kB
MemFree:         1624996 kB
MemAvailable:    4060588 kB
Buffers:           40148 kB
Cached:          3304636 kB
SwapCached:          620 kB
Active:          2847952 kB
Inactive:        2949212 kB
Active(anon):    1300644 kB
Inactive(anon):  1220792 kB
Active(file):    1547308 kB
Inactive(file):  1728420 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:       1048572 kB
SwapFree:         881084 kB
Dirty:                52 kB
Writeback:             0 kB
AnonPages:       2410892 kB
Mapped:           691044 kB
Shmem:            554992 kB
Slab:             188640 kB
SReclaimable:     149804 kB
SUnreclaim:        38836 kB
KernelStack:        4288 kB
PageTables:        45088 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4578036 kB
Committed_AS:    3125600 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      333940 kB
VmallocChunk:   34359349628 kB
HardwareCorrupted:     0 kB
AnonHugePages:    548864 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
CmaTotal:              0 kB
CmaFree:               0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      144684 kB
DirectMap2M:     4057088 kB
DirectMap1G:     4194304 kB

在这个结果中可以看到,MemTotal表示总共的内存大小,MemFree表示空闲的内存大小,Buffers表示用于缓存的内存大小,Cached表示缓存的内存大小,SwapCached表示在交换分区中使用的缓存的内存大小,AnonPages表示没有交换到磁盘中的匿名内存大小,Mapped表示内存映射文件的大小等等。

三、使用ps命令查看进程

ps -eo pid,cmd,%mem,%cpu --sort=-%mem | head

上面的命令可以按照内存占用降序排序,显示出内存占用前10的进程信息。

执行上面的命令后,会输出如下的结果:

 PID CMD                         %MEM %CPU
 1336 /usr/lib/xorg/Xorg           1.6  0.0
 3304 /usr/bin/gnome-shell        1.4  0.0
 3252 /usr/bin/gnome-terminal     1.1  0.0
 2322 /usr/bin/X                  1.0  0.0
 1169 /usr/bin/dockerd            0.9  0.1
 1765 /usr/bin/gnome-software     0.9  0.2
 1206 /usr/bin/containerd         0.8  0.0
 1665 /usr/bin/gjs                0.6  0.0
 1444 /usr/lib/gnome-settings-    0.5  0.0

其中PID表示进程的ID,CMD表示进程所对应的命令,%MEM表示进程占用的内存百分比,%CPU表示进程占用的CPU百分比。

四、使用htop命令查看进程

htop

htop是一个更加强大的系统进程监控工具,可以实时监控系统的CPU、内存、磁盘、网络等信息,而且支持鼠标操作,可以方便地进行进程的控制。

执行上面的命令后,会在终端中显示出类似于top的运行状态界面,但是界面更加美观,同时支持鼠标操作。

按下F6键,或者使用鼠标点击CPU(%),可以按照内存占用进行排序。然后再使用上下箭头选择进程,可以查看进程的详细信息。

五、使用free命令查看内存占用

free -h

上面的命令可以查看系统的内存占用情况,包括总的内存、已经使用的内存、空闲的内存、缓存的内存以及交换分区的情况。

执行上面的命令后,会输出如下的结果:

             total        used        free      shared  buff/cache   available
Mem:          7.8Gi       4.2Gi       1.9Gi       544Mi       1.6Gi       2.8Gi
Swap:         1.0Gi        71Mi       929Mi

其中total表示总共的内存大小,used表示已经使用的内存大小,free表示空闲的内存大小,buffer/cache表示用于缓存的内存大小,available表示还可以使用的内存大小。

六、总结

使用Linux命令查看内存占用前10有很多种方法,其中最常用的是top命令,可以按照不同的方式进行排序,包括按照CPU、内存、CPU时间等等。另外,ps、htop、free等命令也可以进行内存占用的监控。这些命令可以帮助我们监控系统的性能,及时发现问题并解决。


路过

雷人

握手

鲜花

鸡蛋

相关阅读

最新评论

歌名 - 歌手
0:00

    QQ|手机版|小黑屋|工具箱|老宋 ( 备案中... )

    GMT+8, 2024-11-21 18:55 , Processed in 0.067280 second(s), 27 queries , Gzip On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    返回顶部