一、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等命令也可以进行内存占用的监控。这些命令可以帮助我们监控系统的性能,及时发现问题并解决。 |
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.