
内存管理和优化是Linux系统性能优化的重要组成部分. 换句话说,内存资源是否充足将直接影响应用程序系统(包括操作系统和应用程序)的性能.
本节将介绍几个系统命令,通过它们您可以快速查看Linux系统中的内存使用情况.
Linux查看内存使用情况: free命令free是监视Linux内存使用情况的最常用命令之一. 该命令的基本用法已在“ Linux free命令”部分中详细介绍,因此我不再重复,这里我将重点介绍如何使用free命令查看系统内存的使用情况.
以下是当前测试系统中free命令的输出结果:

[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 2004 573 1431 0 47 201
-/+ buffers/cache: 323 1680
Swap: 1983 0 1983
从输出结果中,我们可以看到系统总共有2GB的内存,其中有1431MB的可用系统内存,并且未使用swap分区,因此可以判断当前系统内存资源还足够.
此外,free命令还可以实时监视内存使用情况. 通过使用-s选项,您可以在指定的时间段内不间断地监视内存的使用情况. 例如:
[root@localhost ~]# free -m -s 5
total used free shared buffers cached
Mem: 2004 571 1433 0 47 202
-/+ buffers/cache: 321 1683
Swap: 1983 0 1983
total used free shared buffers cached
Mem: 2004 571 1433 0 47 202
-/+ buffers/cache: 321 1683
Swap: 1983 0 1983
#省略后续输出

为了动态监视内存使用情况,除了使用free命令提供的-s选项之外,还可以使用watch命令. 通过在watch命令之后添加需要运行的命令,watch将重复该命令本身(默认情况下每2秒执行一次),例如:
[root@localhost ~]# watch -n 3 -d free
Every 3.0s: free Tue Oct 29 03:05:43 2019
total used free shared buffers cached
Mem: 2052988 586504 1466484 0 49184 207360
-/+ buffers/cache: 329960 1723028
Swap: 2031608 0 2031608
在上面执行的命令中,-n选项用于执行重复执行的间隔,-d选项用于在显示数据时突出显示更改的数据.
Linux查看内存使用情况: vmstat命令vmstat命令在监视系统内存方面非常强大. 此命令的基本用法已在“ Linux vmstat命令”部分中详细介绍,这是如何使用此命令. 此命令检查内存使用情况.

以下是执行vmstat命令的输出:
[root@localhost ~]# vmstat 2 3 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 1436128 53004 210744 0 0 7 0 13 14 0 0 100 0 0 1 0 0 1436112 53004 210744 0 0 0 0 128 226 0 0 100 0 0 0 0 0 1435988 53004 210744 0 0 0 0 144 220 1 0 99 0 0
对于内存监视,我们只需要关注swpd,si等三列. 从该输出结果可以看出,在当前系统中,没有使用虚拟内存,并且硬盘和内存之间没有数据交换. 可以看出内存资源处于空闲状态.
Linux查看内存使用情况: sar命令sar命令还可以用于监视Linux的内存使用情况,通过“ sar -r”组合,您可以查看系统内存和交换空间的使用情况.

有关sar命令的基本用法,您可以阅读文章“ Linux sar命令”以获得详细了解.
以下是执行“ sar -r”命令的输出结果:
[root@localhost ~]# sar -r 2 3 Linux 2.6.32-431.el6.x86_64 (localhost) 10/29/2019 _x86_64_ (8 CPU) 04:54:20 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 04:54:22 AM 1218760 834228 40.63 53228 424908 738312 18.08 04:54:24 AM 1218744 834244 40.64 53228 424908 738312 18.08 04:54:26 AM 1218712 834276 40.64 53228 424908 738312 18.08 Average: 1218739 834249 40.64 53228 424908 738312 18.08
在此输出结果中,每个参数的含义如下: 与free命令相比,sar命令的输出信息更加人性化. 它不仅提供内存使用率,还提供内存使用率的百分比和统计信息的平均值. . 例如,只有通过%commit才能知道当前系统中的内存资源是否足够.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-294386-1.html
台独之日
加油
加油我的小王子