惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
M
MIT News - Artificial intelligence
T
Tailwind CSS Blog
Webroot Blog
Webroot Blog
S
Secure Thoughts
N
News and Events Feed by Topic
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
N
News | PayPal Newsroom
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Privacy & Cybersecurity Law Blog
GbyAI
GbyAI
K
Kaspersky official blog
WordPress大学
WordPress大学
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 叶小钗
W
WeLiveSecurity
Jina AI
Jina AI
The Cloudflare Blog
Project Zero
Project Zero
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
L
LangChain Blog
Forbes - Security
Forbes - Security
PCI Perspectives
PCI Perspectives
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
博客园 - 【当耐特】
H
Heimdal Security Blog
A
About on SuperTechFans
Cisco Talos Blog
Cisco Talos Blog
T
Threat Research - Cisco Blogs
云风的 BLOG
云风的 BLOG
Spread Privacy
Spread Privacy
L
LINUX DO - 最新话题
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
Intezer
Martin Fowler
Martin Fowler
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint

博客园 - dirgo

Oracle关联表删除数据和更新数据 logback-spring.xml引入了base.xml日志文件默认生成在哪里? application.yml中Logback相关配置 org/springframework/boot/logging/logback/defaults.xml的内容和作用 logback-spring.xml 中<include resource="org/springframework/boot/logging/logback/base.xml"/>作用 Spring Boot 项目 Logback 日志框架配置文件logback-spring.xml详解 Oracle DataBaseLink 提示密码过期 梅特勒托-托利多衡器串口连续输出数据格式的说明 utf-8编码详解 mybaits updateWrapper更新报错:无效的列类型: 1111 @RequestPart和@RequestParam有什么区别 如何避免Mass Assignment漏洞? 关于vxe-table v4 导出大数据量excel浏览器卡死问题的解决 开源的Linux换源和安装docker脚本 wsl常用命令 使用网页静默打印 在Oracle中,授予用户角色和权限 Linux下查看当前哪些端口在监听状态,哪些端口在连接状态 mobaxterm常用配置 Windows下udp工具 Oracle表空间用户授权创建dblink等操作 用nmap扫描找出某个网段下空闲的ip脚本 Oracle 19c 常用运维 SQL Linux下设置CDB/PDB 环境的Oracle19c开机启动 Oracle是 CDB/PDB 环境下,让PDB在数据库启动后自动打开 怎样禁止dbeaver点击导航中数据库自动切换sql编辑器所属的数据库 Oracle 19c占内存高的解决方法 sudo -i -u zhangsan 与su - zhangsan区别,在现代 Linux 系统中,推荐使用 sudo 进行权限切换 Linux 的目录结构英文全称(及可能的命名背景)和更详细的说明 利用 Logback 的热加载特性,安全的迁移日志,改变日志保存路径 iotDB调整内存占用及注意事项 Eclipse Milo 处理PLC&quot;字(Word)&quot;类型,最直接和正确的做法是使用其内置的 UShort 类型 centos7.9安装minio RELEASE.2025-04-22T22-12-26Z centos7.9编译安装nginx 1.28.1 linux(centos7.9)编译安装redis7.2.4 UFW 防火墙常用命令速查表
Linux中查询进程内存占用
dirgo · 2026-02-05 · via 博客园 - dirgo

在Linux中查询进程内存占用有多种方法,以下是常用的几种方式:

1. 使用 ps 命令

# 查看特定进程的内存占用(以KB为单位)
ps aux | grep 进程名

# 更详细的内存信息
ps aux --sort=-%mem | head -20  # 按内存排序前20个进程

# 查看指定PID的内存信息
ps -p PID -o pid,ppid,cmd,%mem,%cpu,rss,vsz

# 指定显示格式
ps -e -o pid,comm,rss,vsz,%mem --sort -rss

2. 使用 top 命令

# 实时查看进程内存占用
top

# 按内存使用排序(运行top后按M)
# 查看特定进程
top -p PID

# 批处理模式,只运行一次
top -b -n 1 | grep 进程名

3. 使用 htop 命令(需要安装)

htop
# 安装:sudo apt install htop 或 sudo yum install htop

4. 使用 pmap 命令

# 查看进程的详细内存映射
pmap -x PID

# 显示更详细信息
pmap -XX PID

5. 查看 /proc 文件系统

# 查看进程状态信息(包含内存)
cat /proc/PID/status

# 查看进程内存统计
cat /proc/PID/statm
# 输出7个数字:总大小 驻留集大小 共享页数 代码段 库 数据/栈 脏页

# 查看进程内存映射详情
cat /proc/PID/maps
cat /proc/PID/smaps  # 更详细

6. 使用 free 命令查看系统总内存

free -h
# 选项:-h 易读格式,-m MB显示,-g GB显示

7. 常用的组合命令

# 查找占用内存最高的10个进程
ps aux --sort=-%mem | head -10

# 查看Java进程的内存(显示单位MB)
ps aux | grep java | grep -v grep | awk '{print $2, $4, $6/1024"MB", $11}'

# 持续监控某个进程的内存
watch -n 1 'ps -p PID -o pid,rss,%mem,cmd'

# 查看进程的RSS(实际物理内存)和VSZ(虚拟内存)
ps -eo pid,comm,rss,vsz,pmem,pcpu --sort -rss | head -20

内存指标解释:

  • RSS(Resident Set Size):进程实际使用的物理内存(不含交换分区)
  • VSZ(Virtual Memory Size):进程虚拟内存大小
  • %MEM:进程占用物理内存的百分比
  • SHR:共享内存大小
  • DATA:数据段+栈的使用量

实用脚本示例

#!/bin/bash
# 查找并显示指定进程的内存使用
if [ $# -eq 0 ]; then
    echo "用法: $0 进程名"
    exit 1
fi

PROCESS_NAME=$1
PIDS=$(pgrep $PROCESS_NAME)

if [ -z "$PIDS" ]; then
    echo "未找到进程: $PROCESS_NAME"
    exit 1
fi

echo "进程 $PROCESS_NAME 的内存使用情况:"
echo "----------------------------------"
ps -p $PIDS -o pid,ppid,user,%cpu,%mem,rss,vsz,cmd --no-headers

选择哪种方法取决于你需要的信息详细程度和实时性要求。ps 适合一次性查看,top/htop 适合实时监控,/proc 文件系统提供最详细的信息。