怎么解决由于开启了 proxy_cache 导致大量内存被内核 Page Cache 侵占引发的交换分区颠簸

阿辰小哥_3802

阿辰小哥_3802

2026-06-20

477人浏览

原创

page cache 占用内存是正常行为,真正需解决的是 swap 颠簸;应关注 available 内存、si/so 指标,并通过优化 nginx 缓存策略与微调内核参数(如 vfs_cache_pressure、swappiness)来缓解。

怎么解决由于开启了 proxy_cache 导致大量内存被内核 page cache 侵占引发的交换分区颠簸

这不是 proxy_cache 本身的问题,而是它触发了 Linux 内核 Page Cache 的正常行为——大量读取缓存文件时,内核会把它们全放进内存做页缓存。所谓“侵占”,其实是误判;Page Cache 本就该用空闲内存,且随时可被回收。真正要解决的,是避免它间接引发 swap 颠簸(即频繁的 si/so)。

看清真实内存压力,别被 free 输出误导

运行 free -h 时,重点看 available 列,不是 used 或 free。
如果 available 还有 10% 以上(比如 32G 机器还有 3G+),说明系统根本不缺内存,swap 颠簸另有原因。
若 available 持续低于 5%,才表明内存真正紧张——此时 Page Cache 已开始被内核主动回收,但回收速度赶不上新内存申请,才会退到 swap。

确认 Page Cache 是否真在“捣乱”

查 cat /proc/meminfo,关注三行:
• Cached:主要是文件数据页缓存(proxy_cache 文件就在这里)
• SReclaimable:可回收的 slab 缓存(含 dentry/inode,也和大量小文件有关)
• Buffers:块设备元数据缓存(通常较小)
再配合 vmstat 1 看 si(swap in)和 so(swap out)是否持续非零。只有 si/so 波动大,才说明 swap 正被高频使用。

CPA Update - Secure CLI Proxy API Maintenance
CPA Update - Secure CLI Proxy API Maintenance

安全更新和维护 CLI Proxy API(CPA)部署与配置。用于 CPA 镜像升级、配置变更、认证目录兼容修复、上线验证与回滚。适用于用户提到“CPA 更新/升级/配置改了/容器重建/回滚”等场景。

下载

调整 Nginx proxy_cache 配置,减少缓存文件对 Page Cache 的持续冲击

• 关闭 open_file_cache 或设极短 max 和 inactive 值,避免大量小文件句柄长期驻留,间接拖慢 inode 回收
• 限制 proxy_cache_path 的 max_size,并启用 purger(如 nginx-plus)或定期 find + rm 清理过期缓存,防止缓存目录膨胀、触发大量 page fault
• 对静态资源启用 proxy_cache_use_stale updating,降低回源频率,减少重复读取同一文件带来的缓存重载
• 避免缓存超大文件(如 >100MB 视频),它们会长期霸占大量连续 page,影响回收效率

微调内核参数,让 Page Cache 更“懂事”

• 降低 vm.vfs_cache_pressure(默认 100)到 50–80:让内核更愿意保留 dentry/inode 缓存,减少因目录遍历引发的额外 page fault
• 调高 vm.swappiness(默认 60)到 80–100:听起来反直觉,但它会让内核更早把匿名页(如进程堆)换出,为 Page Cache 留出更多空间,反而减少因内存争抢导致的颠簸
• 不要轻易用 echo 3 > /proc/sys/vm/drop_caches:这是急救手段,不能解决根本问题,还可能引发后续读取毛刺

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

880

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2672

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

896

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

789

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

414

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2416

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4452

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

727

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
php-src源码分析探索
php-src源码分析探索

共6课时 | 0.7万人学习

golang和swoole核心底层分析
golang和swoole核心底层分析

共3课时 | 0.2万人学习

玩儿转Swift视频教程
玩儿转Swift视频教程

共44课时 | 10.4万人学习