答案1
https://www.linuxatemyram.com/
缓存与已使用之间的典型混淆。htop
缓存被计为已使用,但free
实际上并非如此。由于这是 Linux,请/proc/meminfo
自己阅读并了解计数器之间的关系。
编辑:您特别询问了缓存的差异。
从 procps 中释放出来显然可以回收页面缓存和 slab。从proc/sysinfo.c
kb_main_cached = kb_page_cache + kb_slab_reclaimable;
htop 是页面缓存加上 slab 回收减去共享内存。linux/LinuxProcessList.c
this->cachedMem = this->cachedMem + sreclaimable - shmem;
MemAvailable
老实说,在现代 Linux 上,如果我关心这些数字,我会直接查看/proc/meminfo 中的其他一些计数器。
性能工具虽然非常有用,但可能会产生误导、混淆,并且文档记录不全。不要假设不同的工具会使用相同的算法计算名称相似的事物。
响应时间缓慢可能是任何原因造成的。存储 IOPS 限制或响应时间、来自慢速存储的内存页面插入、高 CPU 利用率(可能不是在您截取此屏幕截图的那一刻)、网络速度慢、应用程序编写不当等等。
量化哪些东西慢以及慢到什么程度。您有许多应用程序在运行:μTorrent Server、mysql、mongo、plex 和其他一些容器。打开慢查询日志。分析应用程序。将您能想到的所有性能指标记录到时间序列数据库中并查看图表。