在 Linux 系统中,查看进程占用内存大小的常用方法有以下几种:
top 命令bash
topM(大写)按内存使用排序。RES(常驻内存,单位 KB)和 %MEM(内存占用百分比)。q。htop(需安装)bash
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHELbash
htopF6 可选择按内存排序。ps 命令bash
ps -p <PID> -o pid,rss,%mem,cmd
rss:物理内存占用(KB)。%mem:内存占用百分比。bash
ps aux --sort=-%mem | head -n 10 # 按内存降序显示前10个进程pmap 命令bash
pmap -x <PID>
RSS 列显示实际占用内存(KB)。/proc 文件系统bash
cat /proc/<PID>/status | grep -i vm
VmRSS:实际使用的物理内存。VmSize:虚拟内存总量(包含共享库等)。free 命令(系统整体内存)bash
free -h
Q: RES 和 VIRT 的区别?
RES(RSS):实际占用的物理内存。VIRT:虚拟内存总量(含共享库、未使用的分配内存等)。Q: 如何计算进程实际内存?
RES(top/ps 中的 RSS),它表示进程独占的物理内存。通过以上方法,可以快速定位进程的内存占用情况。如需进一步分析内存泄漏或详细分配,可使用 valgrind 或 gdb 等工具。