Linux操作系统查看内存信息的命令
Linux操作系统的内存使用情况我们可以通过命令来知道。下面由学习啦小编为大家整理了Linux操作系统查看内存信息的命令的详细介绍,希望对大家有帮助!
Linux操作系统查看内存信息的命令
1. /proc/meminfo查看RAM使用情况最简单的方法是通过/proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过/proc/<pid>/statm 和 /proc/<pid>/status 来查看。
$ cat /proc/meminfo
2. atopatop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。
$ sudo atop
3. freefree命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。
$ free -h
4. GNOME System MonitorGNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看CPU及内存使用情况的方法。
$ gnome-system-monitor
5. htophtop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。
$ htop
6. KDE System Monitor功能同 4 中介绍的GENOME版本。
$ ksysguard
7. memstatmemstat是一个有效识别executable(s), process(es) and shared libraries使用虚拟内存情况的命令。给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。
$ memstat -p <PID>
8. nmonnmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。
$ nmon
9. psps命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:
$ ps aux --sort -rss
10. smemsmem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。
$ sudo smem --pie name -c "pss"
11. toptop命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。
$ top
12. vmstatvmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
$ vmstat -s
Linux操作系统内存信息的有关概念
Mem:表示物理内存统计
total 内存总数 8057964KB
used 已使用的内存 7852484KB
free 空闲的内存数 205480KB
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 290432KB
cached Page 缓存内存数:5735024KB
(存在关系: total = used + free )
-/+ buffers/cached:表示物理内存的缓存统计
(-buffers/cache) used内存数:1827028KB (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free内存数: 6230936KB (指的第一部分Mem行中的free + buffers + cached)
-buffers/cache反映的是被程序实实在在吃掉的内存;
+buffers/cache反映的是可以挪用的内存总数;
Swap:表示硬盘上交换分区的使用情况
free参数说明
-m 以M为单位查看内存使用情况(默认为kb)
-b 以Byte为单位查看内存使用情况
-k 以KB为单位查看内存使用情况
-o 不显示缓存调节列
-t 显示内存总和列
-V 显示版本信息
-s <间隔秒数> 可以在指定时间段内不简单监控内存的使用情况
参考资料:buffers 与 cached 的区别
对于应用程序来说,buffers/cached 是等于可用的,
因为buffer/cached是为了提高文件读取的性能,
当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说 可用内存=系统free memory+buffers+cached.
buffers是指用来给块设备做的缓冲大小,
他只记录文件系统的metadata以及 tracking in-flight pages.
cached是用来给文件做缓冲。
那就是说:buffers是用来存储,目录里面有什么内容,权限等等。
而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,
可以试一下,先后执行两次命令#man X ,可以明显的感觉到第二次的开打的速度快很多。
记住内存是拿来用的,不是拿来看的.不像windows,无论你的真实物理内存有多少,他都要拿硬盘交换 文件来读.
这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分 的时候,拿出一部分
硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换 空间,就不用担心自己的内存
太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看 内存是否够用的标准哦.