📜  什么进程消耗 RAM - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:49:14.893000             🧑  作者: Mango

什么进程消耗 RAM - Shell / Bash介绍

介绍

在Shell或Bash中,我们可以使用各种命令和工具来监视和管理系统内存,以及确定哪些进程消耗了RAM。

本文将介绍一些常见的Shell / Bash命令和工具,帮助程序员了解如何查找和监视消耗RAM的进程。

1. free命令

free命令用于显示系统内存使用情况,包括已使用的、可用的和缓冲区/缓存的内存量。

示例代码:

free -h

输出结果类似于以下内容:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        4.0G        903M        399M        2.8G        3.2G
Swap:          2.0G        230M        1.8G
2. top命令

top命令用于实时显示系统进程的状态,包括CPU和内存使用情况。可以通过按"M"键按内存使用情况进行排序。

示例代码:

top

输出结果类似于以下内容:

top - 15:29:45 up 10 days, 41 min,  1 user,  load average: 0.10, 0.05, 0.01
Tasks: 222 total,   1 running, 221 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.4 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7916.0 total,   1790.3 free,   4239.2 used,   1886.5 buff/cache
MiB Swap:   2048.0 total,   1871.0 free,    166.9 used.   3089.8 avail Mem 

  PID USER       PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                             
 1731 root       20   0  638000  24.1m   5.8m S   0.3   0.3   0:07.40 systemd-journal                                                                                     
...
3. ps命令

ps命令用于显示当前正在运行的进程。可以使用ps命令结合排序和过滤选项来查找并显示消耗RAM的进程。

示例代码:

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem

输出结果类似于以下内容:

  PID  PPID CMD                         %MEM %CPU
 2560  2518 /usr/lib/firefox/firefox-bin  6.2  0.1
  218     1 /lib/systemd/systemd-journald  0.3  0.0
...
4. smem命令

smem命令用于报告系统内存使用情况,包括进程内存使用的详细信息。

示例代码:

smem -r

输出结果类似于以下内容:

 PID User     Command                         Swap      USS      PSS      RSS
   1 root     /sbin/init splash                 0    640.0    647.0   1976.0
   2 root     [kthreadd]                        0      0.0      0.0      0.0
   3 root     [rcu_gp]                          0      0.0      0.0      0.0
...
5. pmap命令

pmap命令用于显示进程的内存映射。

示例代码:

pmap -X <PID>

输出结果类似于以下内容:

<Address>           <Permissions>  <Offset>  <Device>   <Inode>    <Path>
...
0000000000400000      r-xp           00000000  08:01 329636                     /bin/bash
...

以上是一些常用的Shell / Bash命令和工具,用于查找和监视消耗RAM的进程。使用这些命令和工具,程序员可以更好地理解系统内存使用情况,并优化进程的内存消耗。