linux下如何查看内存使用情况

Linux下,可使用free -h命令查看内存使用情况,能清晰显示内存

Linux操作系统中,有多种方法可以查看内存的使用情况,下面将详细介绍几种常用的方法和命令,以及如何解读它们的输出信息。

free 命令

free 命令是最常用的查看内存使用情况的工具之一,它提供了关于系统内存使用的概览信息。

使用方法:

free -h

输出示例:

              total        used        free      shared  buff/cache   available
Mem:           7.8G        2.3G        4.9G        500M        600M        5.0G
Swap:          2.0G          0B        2.0G

解释:

  • total:总内存大小。
  • used:已使用的内存,包括缓冲区和缓存。
  • free:空闲内存。
  • shared:共享内存,通常用于进程间通信。
  • buff/cache:用于缓冲和缓存的内存,这部分内存可以在需要时被释放。
  • available:估计可用的内存,考虑了缓冲区和缓存的可回收性。

top 命令

top 命令提供了一个动态的实时视图,显示系统的进程和资源使用情况,包括内存。

使用方法:

top

输出示例:

top 12:34:56 up  1:23,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 100 total,   1 running,  99 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.2 us,  0.5 sy,  0.0 ni, 98.2 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem :  8123456 total,  2048000 used,  5575456 free,    51200 buffers
KiB Swap:  2048000 total,        0 used,  2048000 free.
    PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM TIME+ COMMAND
      1 root      20   0   10240   8123    672 S  0.3  0.1   0:01.23 systemd
      2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
...

解释:

  • KiB Mem:显示物理内存的总量、已用、空闲和缓冲区大小。
  • KiB Swap:显示交换空间的总量、已用和空闲大小。
  • %MEM:每个进程占用的内存百分比。

htop 命令

htoptop 命令的一个增强版,提供了更友好的用户界面和更多的交互功能。

安装方法(以Ubuntu为例):

sudo apt-get install htop

使用方法:

htop

输出特点:

  • 彩色显示:不同的指标用不同颜色表示,更直观。
  • 交互式操作:可以使用上下键选择进程,按F9杀死进程等。

vmstat 命令

vmstat 命令提供了关于系统虚拟内存的统计信息,包括内存、交换、I/O等。

使用方法:

vmstat -s

输出示例:

       8123456 K total memory
       2048000 K used memory
       5575456 K active memory
            0 K inactive memory
       51200 K buffer memory
            0 K swap cache
       2048000 K total swap
            0 K used swap
       2048000 K free swap

解释:

  • total memory:总内存大小。
  • used memory:已使用的内存。
  • active memory:活动内存,即最近被访问过的内存。
  • inactive memory:非活动内存,即长时间未被访问的内存。
  • buffer memory:用于缓冲的内存。
  • total swap:总交换空间大小。
  • used swap:已使用的交换空间。
  • free swap:空闲的交换空间。

/proc/meminfo 文件

/proc/meminfo 是一个虚拟文件,提供了关于系统内存使用的详细信息。

查看方法:

cat /proc/meminfo

输出示例:

MemTotal:        8123456 kB
MemFree:        5575456 kB
MemAvailable:    6000000 kB
Buffers:          51200 kB
Cached:          600000 kB
SwapCached:            0 kB
Active:          2048000 kB
Inactive:            0 kB
...

解释:

  • MemTotal:总内存大小。
  • MemFree:空闲内存。
  • MemAvailable:估计可用的内存。
  • Buffers:用于缓冲的内存。
  • Cached:用于缓存的内存。
  • SwapCached:用于交换缓存的内存。
  • Active:活动内存。
  • Inactive:非活动内存。

smemreport 工具

smemreport 是一个更高级的内存使用报告工具,可以生成详细的内存使用报告。

安装方法(以Ubuntu为例):

sudo apt-get install smemreport

使用方法:

sudo smemreport -f report.txt

输出特点:

  • 详细报告:包括每个进程的内存使用情况、共享内存、私有内存等。
  • 可读性强:报告以文本形式保存,便于查阅和分析。

dmidecode 命令

dmidecode 命令可以获取硬件信息,包括内存的详细信息。

使用方法:

sudo dmidecode --type memory

输出示例:

# dmidecode 3.2
SMBIOS 3.0 present.
Handle 0x0038, DMI type 17, 34 bytes
Memory Device
        Array Handle: 0x0037
        Error Information Handle: 0x0036
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 4096 MB
        Form Factor: DIMM
        Set: None
        Locator: DIMM_A1
        Bank Locator: BANK 0
        Type: DDR4
        Type Detail: Synchronous Unbuffered (Unregistered)
        Speed: 2400 MT/s
        Manufacturer: Samsung
        Serial Number: 12345678
        Asset Tag: Not Specified
        Part Number: M378A1K43CB2-CTD
        Rank: 2
        Configured Memory Speed: 2133 MT/s
...

解释:

  • Size:内存大小。
  • Type:内存类型(如DDR4)。
  • Speed:内存速度。
  • Manufacturer:内存制造商。
  • Serial Number:内存序列号。
  • Part Number:内存型号。

lsblkblkid 命令

虽然这些命令主要用于查看块设备信息,但也可以间接了解内存的使用情况,特别是当涉及到交换分区时。

使用方法:

lsblk
blkid

输出示例:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0    50G  0 disk 
├─sda1        8:1    0    50G  0 part /boot
└─sda2        8:2    0    40G  0 part /
sdb           8:16   0    2G  0 disk 
└─sdb1        8:17   0    2G  0 part [SWAP]

解释:

  • sdb1:这是一个交换分区,大小为2G。
  • blkid:可以查看设备的UUID、文件系统类型等信息。

sar 命令

sar 命令是 sysstat 包的一部分,用于收集和报告系统活动信息,包括内存使用情况。

安装方法(以Ubuntu为例):

sudo apt-get install sysstat

使用方法:

sar -r -f /var/log/syslog -s 12:00:00 -e 12:10:00

输出示例:

12:00:00 AM     KBMEMFREE   KBMEMUSED  %MEMUSED  KBSWAPFREE   KBSWAPUSED  %SWAPUSED
12:10:00 AM     5575456     2048000      25.00          2048000             0      0.00

解释:

  • KBMEMFREE:空闲内存大小(KB)。
  • KBMEMUSED:已用内存大小(KB)。
  • %MEMUSED:内存使用率(%)。
  • KBSWAPFREE:空闲交换空间大小(KB)。
  • KBSWAPUSED:已用交换空间大小(KB)。
  • %SWAPUSED:交换空间使用率(%)。

nmon 工具

nmon 是一个性能监控工具,可以实时监控系统的CPU、内存、网络等资源的使用情况。

安装方法(以Ubuntu为例):

sudo apt-get install nmon

使用方法:

nmon

输出特点:

  • 实时监控:可以实时查看系统的各项性能指标。
  • 交互式操作:可以通过键盘快捷键切换不同的监控页面。
  • 详细数据:提供详细的CPU、内存、网络等使用情况。

小编总结表格

工具/命令 功能描述 适用场景
free 显示内存和交换空间的使用情况 快速查看内存使用情况
top 实时显示系统进程和资源使用情况 动态监控内存和CPU使用情况
htop top的增强版,提供更友好的界面 需要更直观的实时监控界面
vmstat 提供虚拟内存的统计信息 需要详细的内存和交换空间统计信息
/proc/meminfo 提供详细的内存使用信息 需要深入了解内存使用细节
smemreport 生成详细的内存使用报告 需要详细的内存使用分析报告
dmidecode 获取硬件信息,包括内存的详细信息 需要了解硬件配置和内存规格
lsblk 查看块设备信息,包括交换分区 需要了解交换分区的使用情况
sar 收集和报告系统活动信息,包括内存使用情况 需要历史内存使用数据
nmon 实时监控系统的CPU、内存、网络等资源的使用情况 需要全面的系统性能监控

相关问答FAQs

Q1: free 命令中的 availablefree 有什么区别?

A1: free 命令中的 availablefree 都表示空闲的内存,但它们的计算方式有所不同。free 只考虑了当前未被任何进程使用的内存,而 available 则考虑了缓冲区和缓存的可回收性,也就是说,available 是估计系统在不杀死任何进程的情况下,可以立即分配给新进程的内存大小。available 通常比 free 更准确地反映了系统的实际可用内存。

Q2: 如何查看某个特定进程的内存使用情况?

A2: 要查看某个特定进程的内存使用情况,可以使用 tophtop 命令,并通过进程ID(PID)或进程名称进行筛选,使用 top 命令后,可以按 P 键按CPU使用率排序,找到目标进程;或者按 M 键按内存使用率排序,找到目标进程,在 htop 中,可以直接使用上下键选择进程,查看其详细信息,还可以使用 ps 命令结合 grep 来查找特定进程的内存使用情况,

ps aux | grep [process_name]

小伙伴们,上文介绍linux下如何查看内存使用情况的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10994.html

(0)
酷番叔酷番叔
上一篇 2小时前
下一篇 1小时前

相关推荐

  • 在Linux系统中设置网关是网络配置的核心步骤,网关作为不同网络间的桥梁,负责转发数据包。以下详细说明多种设置方法,涵盖临时与永久配置,并附验证及故障排查指南

    网关的作用网关(Gateway)是连接本地网络与其他网络(如互联网)的设备,通常是路由器的IP地址,未正确设置网关将导致无法访问外部网络,临时设置网关(重启失效)方法1:使用 ip route 命令sudo ip route add default via 192.168.1.1 dev eth0168.1.1……

    5天前
    600
  • 如何解决你常遇到的5大问题?

    在Linux GNOME桌面环境中更换软件源(Repository)是提升软件下载速度、获取稳定更新的关键操作,以下为详细步骤及注意事项,适用于Ubuntu、Debian等主流发行版(其他发行版逻辑类似):为什么需要换源?加速下载:国内用户访问官方源速度较慢,更换为国内镜像源(如阿里云、清华、中科大)可显著提升……

    2025年7月27日
    1300
  • 禅道Linux启动只需几步?

    禅道是一款开源的项目管理软件,支持敏捷开发、测试管理和DevOps流程,在Linux服务器上部署禅道,可充分发挥其稳定性和高性能优势,以下是经过验证的详细启动流程(基于官方文档和最佳实践):环境准备(必需依赖)系统要求操作系统:CentOS 7+/Ubuntu 18.04+(推荐)运行环境:PHP 7.2-8……

    2025年6月28日
    2000
  • Linux镜像是什么?有什么用?

    Linux镜像是包含完整操作系统文件、引导程序和配置的磁盘映像文件(如ISO、IMG格式),用于系统安装、备份或分发,常见类型包括:安装镜像:包含系统安装程序(如Ubuntu/Debian的ISO)Live镜像:可直接引导运行的完整系统(如Kali Linux Live)定制镜像:预装特定软件或配置的系统(如企……

    2025年7月15日
    1700
  • 为何设备即文件是Linux核心原理?

    在Unix/Linux系统中,所有硬件设备(如磁盘、键盘、打印机)都被抽象为特殊文件,统一存放在/dev目录下,用户和程序可以像操作普通文件一样(使用open、read、write、close等系统调用)访问和控制这些设备,通过文件系统接口屏蔽底层硬件差异。

    2025年7月21日
    1500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信