linux系统如何查看内存使用情况

Linux系统中,查看内存使用情况可通过以下命令:free -h快速查看整体内存状态;top实时展示内存与CPU综合状态;htop(需安装)界面更友好;vmstat -s查看虚拟内存统计信息;或直接查看/proc/meminfo文件获取详细信息

Linux系统中,有多种方法可以查看内存使用情况,以下是一些常用的方法和命令:

linux系统如何查看内存使用情况

free命令

free命令是最常用的查看内存使用情况的命令之一,它可以显示系统的总内存、已用内存、空闲内存、缓存和交换分区的使用情况。

  • 基本用法:直接输入free,会显示以KB为单位的内存使用情况。
  • 常用选项
    • -h:以人类可读的格式(如KB、MB、GB)显示内存使用情况。
    • -m:以MB为单位显示内存使用情况。
    • -s <秒数>:每隔指定秒数刷新一次内存使用情况,用于实时监控。
    • -t:在输出中添加一行总计信息,包括内存和交换分区的总和。
    • -l:显示更详细的内存统计信息,包括低内存和高内存的使用情况。

示例输出(使用free -h):

              total        used        free      shared  buff/cache   available
Mem:           7.8G        1.2G        2.2G        120M        4.4G        5.4G
Swap:          2.0G          0B        2.0G

top命令

top命令不仅可以显示系统的进程信息,还能实时反映内存的使用情况。

  • 基本用法:直接输入top,会显示系统的总内存、已用内存、空闲内存以及每个进程的内存占用情况。
  • 排序功能:可以通过-o %MEM按内存使用率排序,或-o %CPU按CPU使用率排序。
  • 交互界面:top命令输入后,数据会不断更新,可以实时跟踪进程状况。

示例输出

top 15:20:30 up  6:57,  5 users,  load average: 0.64, 0.44, 0.33
Tasks: 265 total,   1 running, 263 sleeping,   0 stopped,   1 zombie
%Cpu(s):  7.8 us,  2.4 sy,  0.0 ni, 88.9 id,  0.9 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8167848 total,  6642360 used,  1525488 free,  1026876 buffers
KiB Swap:  1998844 total,        0 used,  1998844 free,  2138148 cached

vmstat命令

vmstat命令可以提供系统的综合信息,包括内存、CPU、磁盘I/O等方面的情况。

linux系统如何查看内存使用情况

  • 基本用法:直接输入vmstat,会显示系统的内存、交换区、IO、系统和CPU的统计信息。
  • 常用选项
    • -s:显示内存和交换区的详细统计信息,类似于/proc/meminfo
    • <时间间隔> <次数>:按指定的时间间隔输出数据,并重复指定的次数。vmstat 2 5表示每2秒输出一次数据,共输出5次。

示例输出(使用vmstat -s):

      8010408 K total memory
       344016 K used memory
      5444384 K active memory
      1380052 K inactive memory
       283468 K free memory
       719668 K buffer memory
      6663256 K swap cache
      4194304 K total swap
          724 K used swap
      4193580 K free swap

/proc/meminfo文件

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

  • 查看方法:使用cat /proc/meminfo命令查看文件内容。
  • 关键信息
    • MemTotal:总内存大小。
    • MemFree:空闲内存大小。
    • MemAvailable:可用于启动新应用程序的内存大小。
    • Buffers:内核保留的缓冲区内存大小。
    • Cached:存储在RAM中的缓存大小。
    • SwapTotal:交换分区的总大小。
    • SwapFree:交换分区的空闲大小。

示例输出

MemTotal:        8010408 kB
MemFree:          323424 kB
MemAvailable:    6956280 kB
Buffers:          719620 kB
Cached:          5817644 kB
SwapTotal:       4194304 kB
SwapFree:        4193580 kB

htop命令

htop命令是top命令的增强版,提供了更友好的用户界面和更多的功能。

  • 安装方法:如果系统未安装htop,可以使用包管理器进行安装,如sudo apt install htop(Debian/Ubuntu)或sudo yum install htop(CentOS/RHEL)。
  • 特点:支持鼠标操作、彩色显示、垂直和水平滚动等功能,使得查看和管理系统进程更加方便。

glances命令

glances是一个跨平台的系统监控工具,可以查看CPU、内存、磁盘I/O、网络接口等多种系统信息。

linux系统如何查看内存使用情况

  • 安装方法:如果系统未安装glances,可以使用包管理器进行安装,如sudo apt install glances(Debian/Ubuntu)或sudo yum install glances(CentOS/RHEL)。
  • 使用方法:直接输入glances启动程序,会显示系统的实时监控信息。

smem命令

smem命令可以报告比例集大小(PSS)、唯一集大小(USS)和常驻集大小(RSS)等内存使用情况。

  • 安装方法:如果系统未安装smem,可以使用包管理器进行安装,如sudo yum install smem(CentOS/RHEL)。
  • 使用方法:直接输入smemsmem -tk以不同的单位显示内存使用情况。

ps_mem命令

ps_mem是一个Python脚本,可以准确获取Linux中程序的核心内存使用情况。

  • 安装方法:如果系统未安装ps_mem,可以使用包管理器进行安装,如sudo yum install ps_mem(CentOS/RHEL)。
  • 使用方法:直接输入ps_mem查看每个程序的内存使用情况。

sar命令

sar命令用于收集和报告系统活动详细信息,包括内存使用情况。

  • 安装方法:如果系统未安装sar,可以使用包管理器进行安装,如sudo yum install sysstat(CentOS/RHEL)。
  • 使用方法:直接输入sar -r查看内存使用情况的历史记录。

在Linux系统中查看内存使用情况有多种方法可供选择,根据实际需求和场景的不同,可以选择适合的命令或

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年7月21日 07:27
下一篇 2025年7月21日 07:33

相关推荐

  • 如何安装XP和Linux双系统?

    备份重要数据后,调整硬盘分区为Linux腾出未分配空间。 ,**先安装Windows XP**在目标分区(NTFS格式)。 ,重启后**再安装Linux**,在安装分区步骤时,**手动选择未分配空间**创建根分区(/,ext4格式)和交换空间(swap)。 ,**务必安装Linux引导程序(如GRUB)到硬盘MBR**,完成后即可在启动时选择XP或Linux系统。

    2025年6月1日
    400
  • linux 如何查看iptable

    Linux中,查看iptables规则可使用命令sudo iptables -L或sudo iptables -nvL –line-numbers

    2025年7月21日
    000
  • 如何在Linux中备份和打开文件?

    在Linux中备份文件,使用cp命令复制文件到新位置,cp file.txt backup.txt,打开文件,对于文本文件使用nano或vim命令,如nano file.txt;其他文件类型需用相应程序。

    2025年7月6日
    000
  • Linux下Hadoop上传文件用什么命令

    在Linux下使用Hadoop上传文件,通过终端执行命令:hadoop fs -put ,需确保Hadoop服务正常运行,且用户有HDFS写入权限,也可用hdfs dfs -put命令实现相同操作。

    2025年7月2日
    200
  • Linux系统如何快速访问U盘?新手必看操作指南

    Linux下插入U盘后,系统通常会自动挂载到/media或/mnt目录,若未自动挂载,可通过终端执行lsblk查看设备标识(如/dev/sdb1),创建挂载点mkdir /mnt/usb,再用mount /dev/sdb1 /mnt/usb挂载,操作完成后用umount /mnt/usb卸载。

    2025年5月29日
    300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN