1. 使用free命令查看内存使用情况
在Linux中,可以使用free命令来查看服务器的内存使用情况。该命令会显示当前内存的总量、已使用量、剩余量以及缓存和交换分区的情况。
$ free
命令执行后,会输出以下信息:
total used free shared buff/cache available
Mem: 7981456 1319232 5670768 214656 992456 6118736
Swap: 1023996 0 1023996
这里的Mem表示物理内存的使用情况,Swap表示交换分区的使用情况。
1.1 解读free命令输出的信息
命令输出的信息中,各列的含义如下:
total:物理内存的总量。
used:已使用的物理内存量。
free:剩余的物理内存量。
shared:被共享使用的内存量。
buff/cache:被缓存的内存量。
available:可用的内存量。
Swap:交换分区的总量、已使用量和剩余量。
其中,available列的值表示系统当前可用的内存量,是计算机在不遇到OOM(Out of Memory)错误的情况下还能分配给新进程的内存量。它的值计算公式为:
available = free + buff/cache
因此,available列的值可以辅助我们判断服务器的内存使用情况。
2. 使用top命令查看内存使用情况
除了使用free命令,还可以使用top命令来查看服务器的内存使用情况。
$ top
执行top命令后,会显示当前系统的整体运行情况,其中包括内存的使用情况。
在top命令显示的窗口中,可以按下“Shift + M”键,按照内存使用量进行排序。
top命令的输出信息中,关于内存的部分如下所示:
KiB Mem : 7981456 total, 5661076 free, 1319496 used, 1000884 buff/cache
其中,各列的含义解读如下:
KiB Mem:物理内存的总量。
total:总量
free:剩余的物理内存量。
used:已使用的物理内存量。
buff/cache:被缓存的内存量。
3. 使用htop命令查看内存使用情况
htop是一个交互式的进程查看工具,可以显示系统的整体运行情况、进程列表以及内存和CPU的使用情况。
$ htop
执行htop命令后,会显示类似于top命令的窗口。
在htop的窗口中,可以看到内存的使用情况,其中包括已使用内存的数量、剩余内存的数量以及被缓存的内存的数量。
3.1 可视化的内存使用情况
htop还可以以彩色的方式来显示内存的使用情况,不同的颜色代表不同的内存状态。
绿色:空闲内存。
蓝色:缓存的内存。
黄色:使用的内存。
红色:缓冲的内存。
4. 使用vmstat命令查看内存使用情况
vmstat命令可以显示虚拟内存的使用情况,包括内存的总量、已使用量、剩余量以及缓存和交换分区的情况。
$ vmstat
执行vmstat命令后,会输出以下信息:
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 5660584 1001496 992356 0 0 16 29 119 191 4 1 95 1 0
其中,各列的含义解读如下:
swpd:交换分区已使用的内存量。
free:剩余的物理内存量。
buff:被缓冲的内存量。
cache:被缓存的内存量。
si:从交换空间中读取的内存量。
so:写入到交换空间的内存量。
bi:从块设备接收的块数。
bo:发送到块设备的块数。
in:每秒中断的次数,包括时钟中断。
cs:每秒上下文切换的次数。
us:用户进程执行时间。
sy:系统进程执行时间。
id:闲置时间。
wa:等待I/O的时间。
st:偷取(steal)时间,即被其他虚拟机使用。
通过vmstat命令输出的信息,可以综合分析服务器的内存使用情况,包括物理内存、交换分区以及I/O等方面的信息。