我们介绍几种检查和监控 Linux 上 RAM 使用情况的方法
1、free命令
[root@YZH-RHEL82 ~]# free total used free shared buff/cache available Mem: 10035220 775732 129340 6528 9130148 8953436 Swap: 12582908 83456 12499452 [root@YZH-RHEL82 ~]# free -h total used free shared buff/cache available Mem: 9.6Gi 757Mi 126Mi 6.0Mi 8.7Gi 8.5Gi Swap: 11Gi 81Mi 11Gi
参数说明: -h 以人类可读的方式展示
Total:这一列很明显——它显示了系统中实际安装了多少 RAM,以及交换文件的大小
Free:此列列出了当前正在使用的内存量——但是等等,这并不像听起来那么直观。仅仅因为内存“正在使用”并不一定意味着任何进程或应用程序都在积极地使用它
虽然 “free” 列确实表示系统上的各种程序当前正在使用的 RAM,但它还添加了内核用于缓冲和缓存的 RAM。这使得读写操作更高效,但如果进程需要,内核将重新分配该内存。此列中的数字是 total-free-buffers-cache 的总和
Free:此列列出了完全未使用的内存量。通常这里应该有一个非常小的数字,因为 Linux 将大部分空闲 RAM 用于缓冲区和高速缓存,而不是让它完全空闲。
Shared :此列显示专用于tmpfs的内存量,“临时文件存储”。顾名思义,此文件系统存储临时文件以加快计算机上的操作。在 Linux 中,tmpfs 表示为已挂载的文件系统,尽管这些文件实际上都没有写入磁盘——它们存储在 RAM 中,因此需要本列。
[root@YZH-RHEL82 ~]# df -h --type=tmpfs Filesystem Size Used Avail Use% Mounted on tmpfs 4.8G 0 4.8G 0% /dev/shm tmpfs 4.8G 9.6M 4.8G 1% /run tmpfs 4.8G 0 4.8G 0% /sys/fs/cgroup tmpfs 980M 1.2M 979M 1% /run/user/42 tmpfs 980M 4.0K 980M 1% /run/user/0
buff/cache:此列包含缓冲区和缓存的总和。Linux 利用缓冲区和缓存来加快读写操作——从内存中读取数据比从硬盘中读取数据要快得多。此处表示的大部分内存
都可以在需要时由进程回收
[root@YZH-RHEL82 ~]# free -hw total used free shared buffers cache available Mem: 9.6Gi 759Mi 131Mi 6.0Mi 1.0Mi 8.7Gi 8.5Gi Swap: 11Gi 81Mi 11Gi
available:此列包含可供使用的内存的估计(准确的估计,但仍然是估计)。此列中的数字是可用列和可用于重新分配的缓存 RAM 的总和
如果您只想回答“我的系统有多少可用 RAM?,那么您应该查看此列。同样,要弄清楚当前使用了多少 RAM(不考虑缓冲区和缓存),请从总数量中减去可用数量
2、持续监控内存变化
运行一定次数,可以使用-c
(计数选项)。例如,此命令将free
在退出程序之前运行 3 次
使用-s 指定多少秒运行一次,使用ctrl+c退出
比如:free -h -s 5 -c 20 使用free
人类可读试并每 5 秒输出一次内存使用情况,共 20 次
[root@YZH-RHEL82 ~]# free -c 3 3 total used free shared buff/cache available Mem: 10035220 778656 133800 6540 9122764 8950512 Swap: 12582908 83456 12499452 total used free shared buff/cache available Mem: 10035220 778656 133800 6540 9122764 8950512 Swap: 12582908 83456 12499452 total used free shared buff/cache available Mem: 10035220 778656 133800 6540 9122764 8950512 Swap: 12582908 83456 12499452
另外,大家还可以使用top htop查看%MEM列
标签:cache,RAM,free,内存,监控,Linux,此列,tmpfs From: https://www.cnblogs.com/miaoxg/p/16865066.html