在Linux中,你可以使用多种命令来检查系统中的可用内存。以下是一些常用的命令:
free命令
free命令:这个命令可以显示系统中的内存使用情况,包括已用内存、可用内存、缓存和交换空间等信息。你可以在终端中输入free -h命令来以人类可读的格式显示内存使用情况1。
# free
total used free shared buff/cache available
Mem: 7806060 1314936 3827448 4168 2663676 6187224
Swap: 2097152 524 2096628
这个输出显示了系统中的内存使用情况和交换空间使用情况。以下是每个列的含义:
- total:系统中的总内存量。
- used:已经使用的内存量。
- free:可用的内存量。
- shared:被共享的内存量。
- buff/cache:用于缓存的内存量。
- available:可用的内存量,包括缓存和交换空间。
在这个输出中,系统中的总内存量为7806060,已经使用的内存量为1314936,可用的内存量为3827448,被共享的内存量为4168,用于缓存的内存量为2663676,可用的内存量为6187224。交换空间的总量为2097152,已经使用的交换空间量为524,可用的交换空间量为2096628。
/proc/meminfo文件
/proc/meminfo文件:这个文件包含了系统中所有内存相关的信息,包括可用内存、已用内存、缓存和交换空间等信息。你可以在终端中输入cat /proc/meminfo命令来查看这个文件的内容2。
# cat /proc/meminfo
vmstat命令
vmstat命令:这个命令可以显示系统中的内存使用情况,包括已用内存、可用内存、缓存和交换空间等信息。你可以在终端中输入vmstat命令来查看内存使用情况3。
# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
6 0 524 3552012 204884 2532132 0 0 308 724 297 500 1 7 93 0 0
这个输出显示了系统中的进程、内存、交换空间、I/O、系统和CPU的使用情况。以下是每个列的含义:
- procs:进程相关的信息,包括正在运行的进程数和等待运行的进程数。
- memory:内存相关的信息,包括空闲内存、用于缓存的内存和用于缓冲的内存。
- swap:交换空间相关的信息,包括已经使用的交换空间和可用的交换空间。
- io:I/O相关的信息,包括从磁盘读取的数据量和写入磁盘的数据量。
- system:系统相关的信息,包括每秒钟的中断数和上下文切换数。
- cpu:CPU相关的信息,包括用户空间、内核空间、空闲和等待的CPU时间。
在这个输出中,正在运行的进程数为6,等待运行的进程数为0。空闲内存量为3552012,用于缓存的内存量为2532132,用于缓冲的内存量为204884。已经使用的交换空间量为524,可用的交换空间量为0。每秒钟从磁盘读取的数据量为0,写入磁盘的数据量为0。每秒钟的中断数为308,上下文切换数为724。用户空间的CPU时间占比为1%,内核空间的CPU时间占比为7%,空闲的CPU时间占比为93%,等待的CPU时间占比为0%。