如何使用Linux命令检查内存的使用情况

free命令free 命令可以显示当前系统上空闲和已经使用了多少物理和交换空间(swap)以及缓冲区(buffers)和缓存(cache)。上面输出结果显示系统有一个2GB大小的交换分区。

在Linux系统中,内存是非常重要的资源之一。当我们运行应用程序时,它们需要占用一定量的内存来完成任务。如果系统没有足够的可用内存,则可能会导致应用程序崩溃或者系统变得缓慢。因此,了解如何检查Linux中的内存使用情况是非常重要的。

在本文中,我们将介绍几个命令来检查Linux系统中可用和已使用的内存量以及其他相关信息。

free命令

free 命令可以显示当前系统上空闲和已经使用了多少物理和交换空间(swap)以及缓冲区(buffers)和缓存(cache)。以下是 free 命令输出结果示例:

“`

total used free shared buff/cache available

Mem: 2028608 1020560 147248 46412 865800 721564

Swap: 2097148 0 2097148

从上面输出结果可以看出:

– 系统总共有2,028,608KB(约为2GB)物理内存。

– 目前已经占用了1,020,560KB(约为1GB)物理内存。

– 还剩下147,248KB(约为147MB)未被占用。

– 系统中的缓冲区和缓存占用了865,800KB(约为846MB)内存。

– 还有721,564KB(约为705MB)可用内存。

Swap 分区是一种特殊的磁盘空间,它充当物理内存的延伸。如果系统中没有足够的物理内存,就会将不经常使用的数据移到交换分区中。上面输出结果显示系统有一个2GB大小的交换分区,并且目前还未被使用。

vmstat命令

vmstat 命令可以显示当前系统上活动进程、CPU使用率、I/O等待时间以及内存和交换空间信息。以下是 vmstat 命令输出结果示例:

procs ———–memory———- —swap– —–io—- -system– ——cpu—–

r b swpd free buff cache si so bi bo in cs us sy id wa st

1 0 0 1502528 1539924 463636 0 0 1 5 * * * * * *

– 系统当前运行着一个进程(r)。

– 内核正忙于运行另一个进程(b)。

– 没有任何数据被放到交换空间(swapped out)。

– 还剩下1,502,528KB(约为1.5GB)未被占用的物理内存。

– 系统中的缓冲区和缓存占用了1,539,924KB(约为1.5GB)内存。

– 系统当前没有任何数据被交换进或交换出(si、so)。

– 磁盘 I/O 速率很低(bi、bo)。

如何使用Linux命令检查内存的使用情况

– 没有数据包被发送或接收(in、cs)。

top命令

top 命令可以显示当前系统上运行中的进程以及它们所使用的资源,包括CPU和内存。以下是 top 命令输出结果示例:

top – 12:21:38 up 27 days, 19:16, 2 users, load average: 0.00, 0.01, 0.05

Tasks: * total*, * running*, sleeping, stopped, zombie

%Cpu(s): *0.1* us,*0.4* sy,*0.0* ni,*99.5* id,*0.1* wa,*0.* hi,*0.* si,* st

MiB Mem : *1987*.6 total,+ *16*.9 free,+ *1028*.2 used,+ *942*.5 buff/cache

MiB Swap: *@2097148*@ total,@ *@2097148*@ free,@ *@ .000*@ used.

– 当前系统时间是12:21:38,已经运行了27天19小时16分钟,共有两个用户登录系统。

– 目前有*total*个进程在运行,其中 *running* 个正在运行,其余的处于睡眠、停止或僵尸状态。

– CPU使用率:用户空间(us)0.1%、内核空间(sy)0.4%、Nice值为0(ni)、空闲率99.5%(id)、等待磁盘I/O响应时间的百分比为0.1%(wa)、硬件中断处理时间占用CPU时间的百分比为0%(hi)、软件中断处理时间占用CPU时间的百分比为0%(si)。

– 系统总共有1,987MB(约2GB)物理内存。

– 目前还剩下16.9MB未被占用,已经使用了1,028.2MB物理内存。

– 系统中的缓冲区和缓存占用了942.5MB内存。

– 系统当前没有数据被交换出或交换入。

ps命令

ps 命令可以显示系统上当前正在运行的进程以及它们所使用的资源。以下是 ps 命令输出结果示例:

PID TTY TIME CMD

1 ? 00:00:01 systemd

2 ? 00:00:00 kthreadd

– 每一行都代表一个进程,第一列是进程ID(PID),第二列是终端(TTY),第三列是CPU时间(TIME),最后一列是进程的名称(CMD)。

– 每个进程都有一个唯一的PID,它用于标识该进程。

– 进程可能会与终端关联,这取决于如何启动它们。如果没有与终端关联,则TTY为“?”。

– CPU时间表示该进程占用CPU的总时间量。

– CMD 列显示了正在运行的命令或者程序名。

在Linux系统中,内存是非常重要的资源之一。我们应该定期检查系统中可用和已使用的内存量以及其他相关信息。本文介绍了几个命令来检查Linux系统中可用和已使用的内存量以及其他相关信息,包括 free、vmstat、top 和 ps 命令。