3个技巧让hcache输出更清爽:-bname、-nohdr与plain模式实战
3个技巧让hcache输出更清爽-bname、-nohdr与plain模式实战【免费下载链接】hcacheshowing top X biggest cache files global项目地址: https://gitcode.com/gh_mirrors/hc/hcachehcache 是一款开源的缓存文件排查工具它能全局扫描 Page Cache统计并展示占用内存最大的缓存文件。很多新手第一次运行sudo hcache --top 10时都会被超长的文件路径和粗笨的表格边框劝退。其实只要掌握-bname、-nohdr、plain这三个输出参数hcache 的结果立刻变得清爽易读。本文用真实实战示例手把手教你让 hcache 输出更清爽的 3 个技巧。一、先看默认输出问题出在哪先用最简单的命令看效果演示用--top 3只显示最大的 3 个缓存文件$ sudo hcache --top 3 ------------------------------------------------------------------------------------------------------------- | Name | Size | Pages | Cached Size | Cached Pages| Percent | ------------------------------------------------------------------------------------------------------------- | /usr/lib/x86_64-linux-gnu/libLLVM-11.so.1 | 74.384M | 19043 | 48.057M | 12303 | 64.606 | | /opt/apps/cn.google.chrome/files/chrome | 170.811M | 43728 | 120.652M | 30887 | 70.634 | -------------------------------------------------------------------------------------------------------------默认输出主要存在三个不清爽的问题完整路径太长把表格撑得很宽一屏放不下表头 分隔线占掉了大量纵向空间表格边框字符在复制、截图、粘贴到文档时容易错位变形。接下来这 3 个技巧恰好一一对应解决以上问题。二、技巧一-bname 让长路径只显示文件名适用场景服务器上文件路径动辄几十个字符其实我们往往只需要知道是哪个文件。命令只需加一个参数sudo hcache --top 10 --bname对比效果$ sudo hcache --top 3 --bname ------------------------------------------------------------------------------------ | Name | Size | Pages | Cached Size | Cached Pages| Percent | ------------------------------------------------------------------------------------ | libLLVM-11.so.1 | 74.384M | 19043 | 44.486M | 11389 | 59.807 | | chrome | 170.811M | 43728 | 122.030M | 31240 | 71.442 | ------------------------------------------------------------------------------------加了-bname之后hcache 只输出文件名basename表格宽度瞬间缩小一半以上一屏能看完整张表。它的实现也很直白输出前把完整路径替换为 basename相关代码见 main.go表格列宽也会随之自适应收窄。 提示-bname只影响展示不会影响统计结果。三、技巧二-nohdr 去掉表头省下两行空间适用场景连续执行多次 hcache 对比数据、屏幕空间宝贵、或者结果要交给脚本解析。sudo hcache --top 10 --nohdr加上-nohdr后列标题和表头分隔线都会被省略直接输出数据行整体紧凑很多$ sudo hcache --top 3 --bname --nohdr ------------------------------------------------------------------------------------ | libLLVM-11.so.1 | 74.384M | 19043 | 44.486M | 11389 | 59.807 | | chrome | 170.811M | 43728 | 122.030M | 31240 | 71.442 | ------------------------------------------------------------------------------------当你只想快速扫一眼谁最大时表头其实并不重要。-nohdr的判定逻辑在输出格式化函数中统一处理见 formats.go对 terseCSV格式同样生效会一并去掉 CSV 的表头行。四、技巧三plain 模式去掉所有边框输出最干净适用场景把结果粘贴到聊天工具、Markdown 文档、Excel或者进一步用 awk 等工具二次处理。sudo hcache --top 10 --plainplain 模式没有任何、-、|装饰字符只有纯粹的对齐文本$ sudo hcache --top 3 --bname --nohdr --plain libLLVM-11.so.1 74.384M 19043 44.486M 11389 59.807 chrome 170.811M 43728 122.030M 31240 71.442 Sum 245.195M 62771 166.516M 42629 67.914干净、紧凑、拷贝不变形是粘贴分享时的最佳选择。plain 模式的完整实现在 formats.go它和-nohdr组合使用效果最佳。五、组合使用一条命令获得极简清单上面三个参数可以自由叠加推荐这个极简三连sudo hcache --top 10 --bname --nohdr --plain效果就是只保留文件名 无表头 无边框一眼扫完 Top 10 大缓存文件输出清爽到可以直接贴进周报。六、更多输出格式补充除了本文的 3 个技巧hcache 还支持其他输出格式可搭配使用参数用途-terseCSV 格式适合管道和脚本处理-jsonJSON 输出适合接入监控告警系统-histoUnicode 色块直方图直观展示缓存占比-unicodeUnicode 圆角边框视觉效果更柔和例如sudo hcache --top 10 --bname -terse -nohdr即可输出无表头的 CSV方便喂给 awk 统计。总结hcache 缓存文件排查工具默认输出足够完整但配合-bname、-nohdr、plain三个参数输出会变得异常清爽尤其适合日常快速定位谁吃掉了内存。还没安装的话可以 clone 源码后用make build自行编译git clone https://gitcode.com/gh_mirrors/hc/hcache cd hcache make build sudo cp hcache /usr/local/bin/学会这 3 个技巧从此排查大缓存文件又快又清爽✨【免费下载链接】hcacheshowing top X biggest cache files global项目地址: https://gitcode.com/gh_mirrors/hc/hcache创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考