查看Linux进程内存占用情况

本文介绍了在Linux环境下使用top、free、ps等常用命令来查看和分析内存占用情况的方法,包括命令的参数解释、操作步骤以及如何通过这些命令获取系统内存使用详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看内存占用常用命令

1、top

top命令是Linux下常用的性能分析工具,类似于Windows的任务管理器。能够实时显示系统中各个进程的资源占用状况。

在命令行中输入 “top”,如下图:

参数分析:

  • PID:进程的ID
  • USER:进程所有者
  • PR:进程的优先级别,越小越优先被执行
  • NInice:反应一个进程“优先级”状态的值,其取值范围是-20至19,一共40个级别。这个值越小,表示进程”优先级”越高,而值越大“优先级”越低。一般会把nice值叫做静态优先级
  • VIRT:进程占用的虚拟内存
  • RES:进程占用的物理内存
  • SHR:进程使用的共享内存
  • S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  • %CPU:进程占用CPU的使用率
  • %MEM:进程使用的物理内存和总内存的百分比
  • TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  • COMMAND:进程启动命令名称

 扩展命令:

  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

举个例子:

输入M。按%MEM排行,效果如下:

 

2、free

在命令行中输入 “free”,如下:

[root@CENTOS01 ~]# free
              total        used        free      shared  buff/cache   available
Mem:        3881244     1863524      904052       58980     1113668     1615580
Swap:       4194300           0     4194300

参数分析:

total:总物理内存的大小
used:已使用内存的大小
free:可用内存的大小
shared:多个进程共享的内存总额
buff/cache: 磁盘缓存的大小
 

free 与 available 的区别

free 是真正尚未被使用的物理内存数量。
available 是应用程序认为可用内存数量,available = free + buff/cache (注:只是大概的计算方法)

free -h

free -h:以适于人类可读方式显示内存信息。

[root@CENTOS01 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.8G        882M         57M        1.1G        1.5G
Swap:          4.0G          0B        4.0G

3、ps

ps aux --sort -rss

[root@CENTOS01 ~]# ps aux --sort -rss
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2456  0.8 11.2 4907192 1212184 ?     Sl   6月28 612:26 java -Xms2048m -Xmx2048m -jar bas-hander.jar
gdm       1890  0.0  0.4 651404 16352 ?        Sl   6月28   0:06 /usr/libexec/gsd-power
gdm       1843  0.0  0.3 634992 14588 ?        Sl   6月28   0:00 /usr/libexec/gsd-xsettings
gdm       1841  0.0  0.3 566856 13780 ?        Sl   6月28   0:00 /usr/libexec/gsd-wacom

参数分析:

  • USER:进程所有者
  • PID :进程的ID
  • %CPU:进程占用CPU的使用率
  • %MEM:进程占用的物理内存百分比
  • VSZ :进程使用掉的虚拟内存量 (Kbytes)
  • RSS :进程占用的固定的内存量 (Kbytes)
  • TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。
  • STAT:进程目前的状态
  • START:进程启动的时间
  • TIME :进程实际使用 CPU 运作的时间
  • COMMAND:进程的实际指令
### 查看 Linux 进程内存使用情况的方法 #### 使用 `ps` 命令 可以利用 `ps` 命令来获取特定进程内存占用信息。通过组合不同的选项参数,能够得到更详细的输出。 ```bash ps aux --sort=-%mem | head -n 2 ``` 这条命令会按照内存消耗比例降序排列所有进程,并显示前两个最占内存进程[^1]。 #### 利用 `top` 或者 `htop` 实时监控 对于实时监测多个进程的状态而言,`top` 是一个非常实用的选择。它不仅提供了动态更新的数据视图,还允许用户交互操作以调整其行为模式。 启动方式如下: ```bash top ``` 如果安装了 htop,则可以用更加友好的界面来进行观察: ```bash htop ``` 这两种工具都可以按需排序展示各个进程的信息,其中就包含了RSS(常驻集大小)、VSZ(虚拟内存总量)等重要字段[^3]。 #### 查询单个进程的具体数值 当目标锁定到某个具体的应用程序上时,借助 `/proc/[pid]/status` 文件可以获得更为精确的结果。这里 `[pid]` 需要替换为目标进程ID号。 例如读取名为 chrome 浏览器的第一个实例对应的内存详情: ```bash cat /proc/$(pgrep -o chrome)/status | grep VmRSS ``` 上述指令提取出了该浏览器所使用的物理内存量(VmRSS),单位为KB。 另外一种方法是采用 `pmap` 工具,它可以列出指定进程中每一个映射段落的实际尺寸以及总合。 ```bash pmap $(pgrep -o chrome) ``` 此命令适用于那些想要深入了解内部结构的人士[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值