Day Mode Night Mode
smem的介绍及使用

smem介绍

smem 是一个用于 分析 Linux 系统内存使用情况 的命令行工具,它比传统工具(如 ps, top, free 等)提供更精确且合理的内存分布视图,尤其是对于共享内存的处理。

在 Linux 下,多个进程可能共享同一段内存(比如共享库)。传统的 ps auxtop 工具仅统计 RSS(常驻内存集),会把共享内存重复统计,容易误判谁用内存最多。

smem 提供了更真实的:

指标说明
USS(Unique Set Size)当前进程独占使用的物理内存。
PSS(Proportional Set Size)当前进程使用的物理内存,加上共享内存的“平均分摊”。这是判断谁真正“占内存”的最好指标。
RSS(Resident Set Size)当前进程加载的所有物理内存,不管是不是共享的。传统 ps 就是看这个。

安装smem

CentOS / RHEL:yum install -y smem

Ubuntu / Debian:apt install -y smem

如果源内没有包那么可以直接下载可执行文件

wget https://data.baihuli.cn/files/smem-1.6.tar.gz

tar -zxvf smem-1.6.tar.gz

cp ./smem-1.6/smem /usr/local/bin

常用命令示例

显示每个进程的内存占用(按 PSS 排序):smem -r | sort -k4 -n

显示 USS、PSS、RSS,以 MB 为单位:smem -m

显示带有进程名的详细信息:smem -r -k -c “pid user name rss pss uss”

汇总统计(按用户):smem -u

汇总统计(按命令):smem -p

按进程统计PID | User | Command | Swap | USS | PSS | RSS:smem 默认单位是KB

按 PSS(最真实的内存占用)排序:smem -r -k

评论

  1. 1 月前
    2026-1-25 12:30:28

    Excellent breakdown of smem’s memory metrics! The PSS (Proportional Set Size) approach is particularly brilliant for shared memory analysis. As someone who monitors resource-intensive platforms, I’ve found that understanding USS vs PSS prevents false memory leak alarms. It’s as crucial as knowing which 99win club app features consume actual resources versus cached data. Great tool recommendation for accurate Linux diagnostics!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇