在 Linux 系统中,可以通过以下几种方法查看进程占用内存的情况:
top
命令bash
top
M
(大写)按内存使用率排序。RES
:进程实际占用的物理内存(单位:KB)。%MEM
:内存占用百分比。q
。htop
(更友好的交互式工具)bash
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL
bash
htop
ps
命令bash
ps aux | grep <进程名或PID>
RSS
(Resident Set Size):实际物理内存占用(单位:KB)。%MEM
:内存占用百分比。bash
ps aux --sort=-%mem | head -n 10 # 显示内存占用最高的前10个进程
pmap
命令bash
pmap -x <PID>
RSS
列显示实际内存占用。/proc
文件系统bash
cat /proc/<PID>/status | grep -i vm
bash
cat /proc/<PID>/statm
RSS
(物理内存占用)。free
命令(查看系统整体内存)bash
free -h
used
/available
显示已用和可用内存。smem
(高级统计工具)bash
sudo apt install smem # Debian/Ubuntu
sudo yum install smem # CentOS/RHEL
bash
smem -u # 按用户统计
smem -p # 按进程显示百分比
VIRT
vs RES
:
VIRT
是虚拟内存(包含共享库、映射文件等)。RES
是实际物理内存占用(更关键)。smem
工具可计算唯一内存占用(USS
)。top
或 htop
。ps aux --sort=-%mem
或 smem
。pmap
或 /proc/<PID>/status
。根据需求选择合适的方法即可!