4种查看 Linux 进程内存占用的方法,建议收藏备用。
CPU和内存是机器性能好坏的关键部件,内存大了就能运行更多的程序,但是程序运行多了就会出现资源消耗竞争的关系,有时候系统出现负载过高的情况下,我们如何去判断是那个程序导致的呢?这就可以用上今天分享的几个工具指令了,快来一起学一下吧!1.htop命令
htop 是一个交互式的进程查看和管理工具,是传统 top 命令的增强版,具有更友好的用户界面和更丰富的功能。
安装方法
在基于 Debian/Ubuntu 的系统上:
sudo apt-get install htop在基于 CentOS 的系统上:
sudo yum install htop
# 或较新版本
sudo dnf install htop基本使用
启动 htop:
htop命令行选项
-d DELAY 设置刷新延迟时间(秒)
-u USER 只显示指定用户的进程
-p PID 只显示指定 PID 的进程
-s CLOUMN 按指定列排序
-c 不使用颜色
-v 显示版本信息
-h 显示帮助信息
2.ps命令ps是Linux/Unix 系统中用于查看当前进程状态的常用命令,功能强大但参数复杂。以下是精简版的详细介绍:基本语法
ps 常用选项组合
1. 查看系统所有进程
ps -ef
[*]-e:显示所有进程
[*]-f:完整格式
2. 按CPU/内存排序
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head-o:自定义输出格式
--sort=-%cup:按CPU使用率降序排序
3.free命令
free命令用于显示系统的内存使用情况,包括物理内存、交换空间(swap)和内核缓冲区。
基本语法
free 常用选项
-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:
sudo apt install smemCentOS:
sudo yum install smem常用选项
选项描述
-c <列>指定显示的列(如 "name pss rss")
-s <列>按指定列排序(默认按PSS)
-r反向排序
-k显示内存单位为KB
-m显示内存单位为MB
-w宽输出模式(不截断命令)
-t显示总计行
-P <模式>过滤进程名(支持正则)
-U <用户>过滤特定用户的进程
smem是分析内存使用问题的强大工具,特别适合识别内存泄漏或分析共享内存使用情况。
总结这些工具各有特点,htop适合实时监控,ps适合快速查看,free查看系统总体情况,smem提供更精确的报告。根据具体需求选择合适的工具即可。
页:
[1]