linux 查看 进程 内存占用

本文介绍了在Linux系统中如何使用`ps`和`top`命令来查看某个进程(如kafka)的内存占用情况。通过`ps -ef | grep kafka`找到进程ID,然后用`top -p <进程ID>`动态查看CPU和内存使用率,或者使用`ps -aux | grep kafka`静态查看。此外,还可查看`/proc/<进程ID>/status`文件获取内存信息,以及用`ps aux | sort -k4,4nr | head -n 10`列出内存占用最高的10个程序。

以下内容转载自 https://www.cnblogs.com/xuanbjut/p/11564744.html

Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如 ps -ef | grep kafka 可以看到kafka这个程序的进程id

  

  可以看到是2913,现在可以使用如下命令查看内存:

top -p 2913

  

  这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行

  也可直接使用ps命令查看: ps -aux | grep kafka 

  

  第一个标注的地方是CPU和内存占用率,后面的943100是物理内存使用量,单位是k,此时kafka大约占用943M内存

  还可以查看进程的status文件: cat /proc/2913/status 

  

  VmRSS对应的值就是物理内存占用,大约为943M和刚才一致

  另外还可以通过 top 命令动态查看内存占用

  通过: ps aux | sort -k4,4nr | head -n 10 查看内存占用前10名的程序

Linux系统中,查看进程内存使用情况可以通过多种方法实现,以下是几种常用的方式: ### 1. 使用 `pmap` 命令 `pmap` 是一个非常强大的工具,可以显示进程内存映射信息,包括每个内存段的大小、权限等。使用 `-x` 选项可以查看更详细的内存占用信息。例如: ```bash pmap -x <PID> ``` 其中 `<PID>` 是你要查看进程的ID。此命令会列出该进程的所有内存段及其详细信息,帮助你了解进程内存使用情况 [^4]。 ### 2. 使用 `pidstat` 命令 `pidstat` 是 `sysstat` 工具包的一部分,它可以用来监控系统的各个子系统,包括进程内存和I/O使用情况。使用 `-r` 选项可以查看进程内存使用情况。例如: ```bash pidstat -r 1 2 ``` 此命令会每秒更新一次,共更新两次,显示所有活跃进程内存使用情况 [^2]。 ### 3. 查看 `/proc/meminfo` 文件 虽然 `/proc/meminfo` 主要用于查看系统的整体内存使用情况,但它也可以提供一些关于进程内存使用的间接信息。例如,可以通过查看 `Slab`、`PageTables` 等字段来了解内核对内存的使用情况。不过,这种方法更适合于系统级别的监控,而不是特定进程的详细内存使用情况 [^1]。 ### 4. 使用 `top` 或 `htop` 命令 `top` 和 `htop` 是两个常用的实时监控工具,它们可以显示系统中各个进程的资源使用情况,包括内存。`top` 是大多数Linux发行版默认安装的工具,而 `htop` 则提供了更友好的界面和更多的功能。例如: ```bash top ``` 或者 ```bash htop ``` 在 `top` 或 `htop` 中,可以通过按 `M` 键按内存使用排序进程,从而快速找到内存占用最高的进程 [^3]。 ### 5. 使用 `ps` 命令 `ps` 命令可以用来显示当前运行进程的状态信息。结合特定的选项,可以查看进程内存使用情况。例如: ```bash ps -p <PID> -o %mem,rss,command ``` 此命令会显示指定进程内存使用百分比、常驻内存大小(RSS)和命令名称 。 ### 6. 使用 `smem` 工具 `smem` 是一个专门用于报告内存使用情况的工具,它可以提供比其他工具更详细的内存使用统计信息,包括按进程、用户、映射文件等维度的统计。安装 `smem` 后,可以使用以下命令查看内存使用情况: ```bash smem -p <PID> ``` 此命令会显示指定进程的详细内存使用情况 。 以上方法可以帮助你在Linux系统中查看进程内存使用情况,根据具体需求选择合适的工具进行监控和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值