我个人一般简单看内存的话,只用“ free”命令。
今天一位群友来问我,他想要监测Linux系统的内存使用状况,有哪些可用的图形界面或者命令行工具来检查当前内存使用情况呢?如果能看到每个程序的内存使用详细情况会更好。
今天我就来给大家整理一份:linux如何查看内存使用详细情况、linux查看内存大小、linux查看内存使用率.......等等的文章,具体内容如下:
一、/proc/meminfo
一种最简单的方法是通过“/proc/meminfo”来检查内存使用状况。这个动态更新的虚拟文件事实上是诸如free,top和ps这些与内存相关的工具的信息来源。从可用/闲置物理内存数量到等待被写入缓存的数量或者已写回磁盘的数量,只要是你想要的关于内存使用的信息,“/proc/meminfo”应有尽有。特定进程的内存信息也可以通过“/proc/statm”和“/proc/status”来获取。
[root@localhost ~]# cat /proc/meminfo
二、free
free命令是一个用来获得内存使用概况的快速简单的方法,这些信息从“/proc/meminfo”获取。它提供了一个快照,用于展示总计/闲置的物理内存和系统交换区,以及已使用/闲置的内核缓冲区。
[root@localhost ~]# free -h
三、htop
htop 命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
[root@localhost ~]# htop
四、top
top 命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。
[root@localhost ~]# top
五、vmstat
vmstat 命令显示实时的和平均的统计,覆盖 CPU、内存、I/O 等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
[root@localhost ~]# vmstat
六、ps
ps 命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (totalamount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort” 选项对进程进行排序,例如按 RSS 进行排序:
[root@localhost ~]# ps aux | sort -rss
注意:
后面的几个命令基本上都需要自己安装,服务器默认上面是没有这些命令的。
七、atop
atop命令是用于终端环境的基于ncurses的交互式的系统和进程监测工具。它展示了动态更新的系统资源摘要(CPU, 内存, 网络, 输入/输出, 内核),并且用醒目的颜色把系统高负载的部分以警告信息标注出来。它同样提供了类似于top的线程(或用户)资源使用视图,因此系统管理员可以找到哪个进程或者用户导致的系统负载。内存统计报告包括了总计/闲置内存,缓存的/缓冲的内存和已提交的虚拟内存。
[root@localhost ~]# atop
八、GNOME System Monitor
GNOME System Monitor 是一个图形界面应用,它展示了包括CPU,内存,交换区和网络在内的系统资源使用率的较近历史信息。它同时也可以提供一个带有CPU和内存使用情况的进程视图。
[root@localhost ~]# gnome-system-monitor
九、KDE System Monitor
就像GNOME桌面拥有GNOME System Monitor一样,KDE桌面也有它自己的对口应用:KDE System Monitor。这个工具的功能与GNOME版本极其相似,也就是说,它同样展示了一个关于系统资源使用情况,以及带有每个进程的CPU/内存消耗情况的实时历史记录。
[root@localhost ~]# ksysguard
十、memstat
memstat 是一个有效识别 executable(s), process(es) and shared libraries 使用虚拟内存情况的命令。给定一个进程 ID,memstat 可以列出这个进程相关的可执行文件、数据和共享库。
[root@localhost ~]# memstat -p
十一、nmon
nmon 是一个基于 ncurses 的系统基准测试工具,它可以监控 CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示总 / 剩余内存、交换空间等信息。
[root@localhost ~]# nmon
十二、smem
smem 命令允许你统计基于 / proc 信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。
[root@localhost ~]# smem -P sshd -k
PID User Command Swap USS PSS RSS
815 root /usr/sbin/sshd 0 868.0K 951.0K 1.3M
14104 root sshd: root@pts/0 0 2.8M 3.5M 5.3M
14292 root python /usr/bin/smem -P ssh 0 5.1M 5.8M 7.2M
总结:
虽然说现在我已经教会大家了,如何查看Linux内存使用情况?但是,大家一定要知道在什么样的情况下使用哪个命令会更加的适合你,一定要学会灵活运用。