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

推荐订阅源

B
Blog RSS Feed
Jina AI
Jina AI
雷峰网
雷峰网
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
博客园 - 司徒正美
罗磊的独立博客
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
Vercel News
Vercel News
A
About on SuperTechFans
I
InfoQ
D
DataBreaches.Net
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队

Oskyla 烹茶室

修复 Joplin on KDE 菜单栏显示问题 Copy Fail:Linux 内核 2017 年至今的高危漏洞(附临时缓解方案) | CVE-2026-31431 Hermes Agent — 在 K3s / K8s 中运行指南 在 K3s 节点上安装并使用 nerdctl Mouser:轻量开源的罗技鼠标驱动替代方案 Claude Opus 4.7:优缺点与评测信息汇总 openFuyao NPU-Operator故障排查 openFuyao 2603 共测测试报告 openFuyao InferNex AI推理集成部署 310P(300I Pro) 环境问题记录及解决 ceph mon Operation not permitted 问题解决 Ascend 310P + openFuyao + NPU-Operator 故障排查 KDE Plasma6 禁用全局菜单,恢复正常应用菜单 终极指南:在 Linux 裸机服务器上快速部署 Moltbot (原 Clawbot) 并集成飞书 Windows 配置 Claude Code 解决 settings.json 不生效 Windows 配置 Claude Code 全流程 2025-12-31 | 年终总结 AI 生图精品提示词|第二期:城市星球 AI 生图精品提示词|第一期 Kubernetes kubectl --raw 使用指南 彻底解决阿里云和 tailscale 冲突 2025-10-21 | 沉淀思维 macOS 单独为鼠标或触控板开启自然滚动 2025-10-16 | 负载高低 2025-10-15 | 睡眠周期 2025-10-14 | 转换情绪与独立观点 go 拉取 gitcode.com 私有 mod Git 将某个文件恢复到其他分支的状态 SSH 通过跳板机连接 lxc 使用 chronyc 构建 ntp 服务 2025-10-13 | 独立思考于未来能源
Linux SWAP 占用情况排查 - smem
Tianlun Song · 2024-12-13 · via Oskyla 烹茶室

本文 首发于 🌱 煎茶转载 请注明 来源

最近发现 ArchLinux 的 32G 内存经常出现 OOM,分配 SWAP 后分多少就占多少,很奇怪,就想办法排查一下,找到了 smem.

smem 是一款能提供大量 Linux 系统内存使用报告的工具。与现有工具不同,smem 可以报告比例集大小 (PSS),这对虚拟内存系统中库和应用程序使用的内存量来说更有意义。 – smem memory reporting tool

安装

# Debian/Ubuntu
sudo apt install smem
# CentOS/RHEL
sudo yum install smem
# Archlinux
yay -S smem
$ smem -r -k -s swap
 PID User     Command                         Swap      USS      PSS      RSS
1634 songtianlun /usr/bin/remmina -i             1.9G   623.9M   625.1M   634.9M
1260193 songtianlun /usr/bin/pycharm-profession   749.4M     2.0G     2.0G     2.0G
1166595 songtianlun /opt/goland/bin/goland        417.3M     2.8G     2.8G     2.8G
1665 songtianlun /usr/lib/firefox/firefox --   244.0M   610.8M   637.9M   801.6M
1327 songtianlun /usr/bin/plasmashell --no-r   181.6M   293.4M   300.9M   353.5M
62871 songtianlun /usr/lib/firefox/firefox -c   136.3M   121.5M   122.6M   166.4M    
2636 songtianlun /usr/lib/electron32/electro   131.4M   410.7M   417.2M   433.
...

其他用法

使用 pmap 查看特定进程的内存映射

如果您已经知道某个特定进程的 PID,并想查看它的具体内存使用情况,包括 Swap 使用量,可以使用 pmap: 使用 pmap 命令:

pmap -x <PID>

其中 <PID> 是进程的 ID。输出将显示该进程的内存映射情况,包括每个映射的大小。

使用 grep 直接查看 /proc/[pid]/smaps

您还可以通过查看 /proc 文件系统中的信息来获取某个特定进程的详细信息: 获取进程的 PID,假设为 1234,使用:

grep -i swap /proc/1234/smaps

这将输出关于这个进程的 Swap 使用情况。

总结

通过使用 smempmap 等工具,可以快速确认哪些进程正在使用 Swap,从而帮助深入分析和排查问题。

References