返回列表 发布新帖
查看: 70|回复: 0

4种查看 Linux 进程内存占用的方法,建议收藏备用。

发表于 2025-4-21 18:30:25 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
CPU和内存是机器性能好坏的关键部件,内存大了就能运行更多的程序,但是程序运行多了就会出现资源消耗竞争的关系,有时候系统出现负载过高的情况下,我们如何去判断是那个程序导致的呢?这就可以用上今天分享的几个工具指令了,快来一起学一下吧!

1.htop命令
htop 是一个交互式的进程查看和管理工具,是传统 top 命令的增强版,具有更友好的用户界面和更丰富的功能。
安装方法
在基于 Debian/Ubuntu 的系统上:
  1. sudo apt-get install htop
复制代码
在基于 CentOS 的系统上:
  1. sudo yum install htop
  2. # 或较新版本
  3. sudo dnf install htop
复制代码
基本使用
启动 htop:
  1. htop
复制代码
命令行选项
-d DELAY 设置刷新延迟时间(秒)
-u USER 只显示指定用户的进程
-p PID 只显示指定 PID 的进程
-s CLOUMN 按指定列排序
-c 不使用颜色
-v 显示版本信息
-h 显示帮助信息
2.ps命令
ps是Linux/Unix 系统中用于查看当前进程状态的常用命令,功能强大但参数复杂。以下是精简版的详细介绍:
基本语法
  1. ps [options]
复制代码
常用选项组合
1. 查看系统所有进程
  1. ps -ef
复制代码
  • -e:显示所有进程
  • -f:完整格式
2. 按CPU/内存排序
  1. ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head
复制代码
-o:自定义输出格式
--sort=-%cup:按CPU使用率降序排序

3.free命令
free命令用于显示系统的内存使用情况,包括物理内存、交换空间(swap)和内核缓冲区。
基本语法
  1. free [options]
复制代码
常用选项
-b 以字节(bytes)为单位显示
-k 以KB为单位显示(默认)
-m 以MB为单位显示
-g 以GB为单位显示
-h 人类可读格式自动转换单位(如K/M/G)
-t显示内存+swap总和
-s<秒> 持续显示,间隔指定秒数
-s<次数> 与-s配合,指定刷新次数
重要概念
  • buffers: 内核缓冲区,用于块设备I/O
  • cache: 页面缓存,用于文件系统访问加速
  • available: 真正可用的内存,计算方式为free + buff/cache 可回收部分


4.smem命令
smem是一个专门用于报告 Linux 系统内存使用情况的工具,它提供了比传统工具(如free或 top)更精细的内存使用分析。
基本介绍
smem的主要特点:
  • 报告实际使用的物理内存(USS、PSS、RSS)
  • 可按用户、进程或映射类型分组统计
  • 支持多种输出格式(表格、条形图等)
  • 可显示内存使用的百分比

安装方法
Ubuntu/Debian:
  1. sudo apt install smem
复制代码
CentOS:
  1. sudo yum install smem
复制代码
常用选项
选项
描述
-c <列>指定显示的列(如 "name pss rss")
-s <列>按指定列排序(默认按PSS)
-r反向排序
-k显示内存单位为KB
-m显示内存单位为MB
-w宽输出模式(不截断命令)
-t显示总计行
-P <模式>过滤进程名(支持正则)
-U <用户>过滤特定用户的进程


smem是分析内存使用问题的强大工具,特别适合识别内存泄漏或分析共享内存使用情况。
总结
这些工具各有特点,htop适合实时监控,ps适合快速查看,free查看系统总体情况,smem提供更精确的报告。根据具体需求选择合适的工具即可。




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.099751 second(s), 7 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表