Karp 的技术博客

在 Linux 系统中,监控进程的内存占用情况对于系统管理员和开发者来说是至关重要的。了解哪些服务或进程消耗了大量内存,可以帮助我们优化性能和排查问题。本文将介绍几种常用的方法来查看服务下的进程内存占用情况。

1. 使用 ps 命令

ps 是一个常用的命令,可以用来查看当前系统中运行的进程及其状态。要查看特定服务下的进程和内存占用情况,可以使用以下命令:

ps aux --sort=-%mem | grep <service_name>
  • aux: 显示所有用户的进程,包括其他用户的。
  • --sort=-%mem: 按照内存占用排序,- 表示降序。
  • grep <service_name>: 过滤出特定服务的进程。

示例

ps aux --sort=-%mem | grep nginx

2. 使用 top 命令

top 命令提供了一个动态更新的实时视图,显示系统中进程的 CPU 和内存占用情况。启动 top 后,可以按 M 键按照内存占用排序。

启动 top

top

过滤特定服务

top 界面中,按下 Shift + L(或在某些版本中是 f)键,然后输入服务的名称进行过滤。

示例图

+--------------------------------------------------+
|    top - 14:15:19 up  1 day,  5:35,  2 users     |
+--------------------------------------------------+
| Tasks: 210 total,   1 running, 209 sleeping      |
| %Cpu(s):  3.5 us,  1.2 sy,  0.0 ni, 95.3 id      |
| KiB Mem :  16384000 total,  12345678 free        |
| KiB Swap:  10240000 total,   1024000 free        |
+--------------------------------------------------+
|  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM TIME+ COMMAND  |
| 1234 www-data  20   0  1234567  45678  12345 S   0.0  0.3  0:01.23 nginx   |
| 5678 www-data  20   0  2345678  56789  23456 S   0.0  0.4  0:02.34 nginx   |
+--------------------------------------------------+

3. 使用 htop 命令

htoptop 的增强版,提供了更友好的界面和更多功能。可以使用箭头键浏览进程列表,并按 F6 键选择排序方式。

安装 htop

如果你的系统没有安装 htop,可以通过以下命令安装:

sudo apt install htop   # Ubuntu/Debian 系统
sudo yum install htop   # CentOS/RHEL 系统

启动 htop

htop

过滤特定服务

htop 界面中,可以按 F3 键输入服务名称进行搜索。

示例图

+--------------------------------------------------+
|  PID USER      TIME    VIRT    RES    SHR S %CPU %MEM COMMAND  |
|  1234 www-data  0:01.23 1234567  45678  12345 S  0.0  0.3 nginx   |
|  5678 www-data  0:02.34 2345678  56789  23456 S  0.0  0.4 nginx   |
+--------------------------------------------------+

4. 使用 pmap 命令

pmap 命令可以显示进程的内存占用情况,可以用来查看特定进程的内存分布。

使用示例

首先,使用 ps 命令找到进程 ID(PID),然后使用 pmap

pmap <PID>

示例

pmap 1234

输出示例

1234:   nginx
0000000000400000   4K r-x-- nginx
0000000000600000   4K rw--- nginx
...

结论

监控进程的内存占用情况是系统维护和优化的重要部分。通过 pstophtoppmap 等工具,你可以轻松查看特定服务下的进程内存占用情况,帮助你及时发现和解决性能问题。

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2018年10月19日 15:11
6

目录

来自 《Linux 查看服务下进程内存占用情况》