检查 Linux 系统内存使用量是否耗尽?

Linux命令

检查 Linux 系统内存使用量是否耗尽?

2024-09-21 01:49


在Linux系统中,监控和管理内存使用情况对于确保系统的稳定性和性能至关重要。当系统内存耗尽时,可能导致应用程序崩溃、系统响应缓慢甚至无法正常运行。幸运的是,Linux提供了多种命令行工具,帮助用户详细了解内存的使用状况。本文将深入介绍五个常用的命令:free、top、vmstat、ps和 htop,并详细解释如何利用这些工具来检查和分析系统的内存使用情况。

                                            




Linux系统中,监控和管理内存使用情况对于确保系统的稳定性和性能至关重要。当系统内存耗尽时,可能导致应用程序崩溃、系统响应缓慢甚至无法正常运行。幸运的是,Linux提供了多种命令行工具,帮助用户详细了解内存的使用状况。本文将深入介绍五个常用的命令:freetopvmstatps和 htop,并详细解释如何利用这些工具来检查和分析系统的内存使用情况。

一、free命令

free命令是最基础且常用的工具之一,用于显示系统内存的使用和空闲情况。它提供了总内存已用内存空闲内存缓存缓冲区的详细信息。

使用方法

free -h

参数说明

  • -h:以人类可读的格式显示内存使用量(例如,KB、MB、GB)。

示例

free -h

示例输出

              total        used        free      shared  buff/cache   available
Mem:           16G         8G        2.0G        500M         6G         7G
Swap:         2.0G        1.5G        500M

输出解释

  • total:系统总内存。
  • used:已使用的内存。
  • free:空闲的内存。
  • shared:共享内存的使用量。
  • buff/cache:用于缓存和缓冲区的内存。
  • available:可供新进程使用的内存。

命令详解表

选项 功能 详细解释
-h 人类可读格式 以KB、MB、GB等易读的格式显示内存使用量
-m 以兆字节显示 以MB为单位显示内存使用量
-g 以千兆字节显示 以GB为单位显示内存使用量
-s 显示内存使用的快照 提供单次内存使用情况的快照
-c 指定刷新次数 连续显示内存使用情况,指定次数后停止

实用技巧

  • 持续监控:结合 watch命令,可以实时监控内存使用情况。

    watch -n 1 free -h
    

    该命令每秒刷新一次内存使用情况。

二、top命令

top命令是一个动态的系统监视器,实时显示系统资源的使用情况,包括内存CPU的使用。它特别适用于识别哪些进程占用了大量内存资源。

使用方法

top

参数说明

  • 交互操作
    • Shift + M:按内存使用量排序进程列表,从高到低显示。
    • Shift + P:按CPU使用量排序。
    • k:杀死进程。
    • q:退出 top界面。

示例

top

示例输出

top - 14:30:01 up 10 days,  4:12,  2 users,  load average: 0.15, 0.10, 0.05
Tasks: 200 total,   1 running, 199 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.0 us,  1.0 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  16000.0 total,   2000.0 free,   8000.0 used,   6000.0 buff/cache
MiB Swap:   2000.0 total,    500.0 free,   1500.0 used.    7000.0 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1234 alice     20   0  500M  200M  100M S   5.0   1.3   0:10.00 firefox
 5678 bob       20   0  300M  150M   80M S   3.0   0.9   0:05.00 chrome

输出解释

  • 顶部摘要:显示系统总体的CPU内存使用情况。
  • 任务:当前系统中的任务(进程)数量和状态。
  • %Cpu(s):CPU的使用情况,包括用户空间、系统空间、空闲等。
  • Mem:内存的总量、空闲量、已用量和缓存量。
  • Swap:交换空间的总量、空闲量和已用量。
  • 进程列表:显示各个进程的PID用户优先级虚拟内存常驻内存共享内存状态CPU使用率内存使用率运行时间命令

命令详解表

选项/操作 功能 详细解释
Shift + M 按内存使用量排序 将进程按内存使用量从高到低排序显示
Shift + P 按CPU使用量排序 将进程按CPU使用量从高到低排序显示
k 杀死进程 终止指定的进程
q 退出 top界面 关闭 top命令界面
h 帮助 显示 top命令的帮助信息
r 改变进程优先级 调整指定进程的优先级(更改nice值)
u 按用户过滤进程 显示特定用户的进程列表

实用技巧

© 蓝易云.