华为云 Flexus L 实例内存升级后的 Linux 内核参数与 Swap 调优指南

举报
yd_232780779 发表于 2026/11/09 06:13:41 2026/11/09
【摘要】 一、背景与场景当我们将云服务器从 2 核 1 GiB 升级至 2 核 2 GiB 规格后,物理可用内存翻倍,系统并发承载能力显著提升。为了充分发挥 2 GiB 内存的性能优势,同时避免高负载下不必要的磁盘 Swap 抖动,我们需要对 Debian / Ubuntu 系统的内核虚拟内存参数、文件描述符限制以及 Nginx / Node.js 工作进程数进行针对性调优。二、调整 vm.swapp...

一、背景与场景

当我们将云服务器从 2 核 1 GiB 升级至 2 核 2 GiB 规格后,物理可用内存翻倍,系统并发承载能力显著提升。为了充分发挥 2 GiB 内存的性能优势,同时避免高负载下不必要的磁盘 Swap 抖动,我们需要对 Debian / Ubuntu 系统的内核虚拟内存参数、文件描述符限制以及 Nginx / Node.js 工作进程数进行针对性调优。

二、调整 vm.swappiness 降低磁盘换页频率

在 1 GiB 内存环境下,系统往往需要较高的 vm.swappiness(默认 60)来防止突发 OOM。但在升级至 2 GiB 后,过早将数据换出到磁盘反而会增加 I/O 延迟。建议将其调低至 15:

sudo sysctl -w vm.swappiness=15
sudo sysctl -w vm.vfs_cache_pressure=50

其中 vm.vfs_cache_pressure=50 可以让内核更倾向于保留目录项(dentries)和索引节点(inodes)缓存,提升静态文件服务与高频小文件读写的响应速度。

三、优化 systemd 服务内存水位保护

在使用 systemd 托管核心业务进程(如 Web API 或反向代理)时,可以通过 MemoryHigh 与 MemoryMax 设置弹性水位线,防止单一异常进程耗尽整机内存:

[Service]
MemoryHigh=1200M
MemoryMax=1500M
Restart=on-failure
RestartSec=3s

当服务内存占用超过 1200M 时,内核会对其进行平缓的内存回收节流,而不会立即触发 OOM Killer 强杀进程。

四、总结

完成规格升级后,及时通过 free -h 与 vmstat 1 5 观察 si/so(Swap 换入换出)指标。当日常峰值下 si/so 稳定保持为 0 且 buff/cache 维持在 400 MiB 以上时,说明 2 GiB 内存已处于最佳工作状态。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。