如何在Linux中修改虚拟内存的换出权重 Linux调整swappiness参数的方法
swappiness 是内核换出内存页到 swap 的权重值,非虚拟内存大小;设为1比0更稳妥,推荐值10或1;查看用 cat /proc/sys/vm/swappiness,临时改用 echo 或 sysctl -w,永久改写入 /etc/sysctl.d/。
swappiness 不是“虚拟内存大小”,它只是内核决定多早、多积极地把内存页换出到 swap 的权重值。改它不会增加或减少 swap 空间,只改变策略。物理内存充足时,设低值(如 10 或 1)能明显减少硬盘抖动和延迟;设成 0 并不等于禁用 swap,而是在极端内存压力下才启用——但多数现代内核(3.5+)对 0 有特殊处理,反而可能引发意外行为,推荐用 1 替代。
查看当前 swappiness 值
最直接的方式是读取 /proc/sys/vm/swappiness:
cat /proc/sys/vm/swappiness
输出类似 60(Ubuntu 默认)、30(CentOS 8 默认)或 20(某些云厂商预置值)。这个值反映当前生效的权重,不是配置文件里的注释值。
临时修改 swappiness(重启失效)
适合验证效果或紧急调优,必须 root 权限:
-
echo 10 > /proc/sys/vm/swappiness—— 最简方式,但需注意重定向权限 -
sysctl -w vm.swappiness=10—— 更安全,会做基本校验 - 执行后立即生效,无需重启服务或内核
注意:sysctl -w 修改的值在下次 reboot 后丢失,仅用于测试。
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载
永久修改 swappiness(写入配置文件)
避免每次重启重设,需落盘到 sysctl 配置:
- 编辑
/etc/sysctl.conf,追加一行:vm.swappiness = 10 - 或更规范的做法:新建
/etc/sysctl.d/99-custom.conf,写入同一行(避免污染主配置) - 执行
sysctl -p或sysctl --system加载新配置
如果系统使用了云厂商插件(如阿里云 ACS-ECS-SwapConfig),它可能已将配置写入 /etc/sysctl.d/99-apsara-sysctl.conf,优先检查该路径而非盲目修改 sysctl.conf。
swappiness=0 和 swappiness=1 的实际差异
文档常写“0 表示禁用 swap”,但这是过时理解。自 Linux 3.5 起:
-
vm.swappiness = 0:内核跳过常规 page reclaim 中的 swap 尝试,仅在 OOM 前的最后阶段才考虑换出——但该逻辑不稳定,部分场景下可能导致 kswapd 活跃度异常升高 -
vm.swappiness = 1:保留最小换出路径,既避免无谓 swap,又维持内存回收机制完整性,Red Hat 和 Ubuntu 官方文档近年均倾向推荐此值 - 不要为了“彻底不用 swap”强行设
0,尤其在生产服务器或容器密集环境
真正需要禁用 swap,应配合 swapoff -a 并从 /etc/fstab 移除 swap 条目——但除非你 100% 确信内存永不耗尽,否则不建议。
如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!
猜您喜欢
如何在Python生产环境中配置Gunicorn参数以实现QPS最大化?
2026-06-04设为2×CPU核心数不总是最优,因其忽略应用类型:CPU密集型宜近核心数,I/O密集型更依赖单worker并发能力(如gevent+worker-connections),盲目增加worker反致争抢与调度开销。 为什么--workers设为CPU核心数×2并不总是最优? 很多人直接套用Gunicorn官方建议的--workers值(2×$(nproc)),但在真实生产中,这常导致进程争抢、上下文...
如何在 PyTorch 中正确访问 onnx2torch 转换后模型的权重参数
2026-06-04使用onnx2torch将ONNX模型(如Pangu-Weather)转换为PyTorch可训练模型后,其返回对象是GraphModule类型,不可下标访问(如tm[0]),但支持标准nn.Module接口——直接调用tm.parameters()即可遍历所有可学习权重。 使用`onnx2torch`将onnx模型(如pangu-weather)转换为pytorch可训练模型后,其返回对象是`gr...
TensorFlow怎么保存训练好的权重_Python只保存模型参数而非全图
2026-06-02PyTorch中只保存权重应使用torch.save(model.state_dict(),path),而非torch.save(model,path);后者保存完整模型(结构+权重+优化器状态),体积大、有安全风险且版本兼容性差;加载权重前必须先实例化结构完全一致的模型,并调用load_state_dict(),推荐始终使用weights_only=True确保安全。 只保存权重用model.s...
TensorFlow怎么实现词嵌入矩阵加载_Python将Glove向量转为权重
2026-06-02先构建词表映射并逐行解析GloVe文件,用word_index对齐索引生成embedding_matrix;再以[embedding_matrix]格式传入Embedding层weights参数,dtype设为float32且注意padding位为0;最后验证需归一化向量并确保分词一致。 怎么把GloVe文本向量转成TensorFlow可加载的嵌入权重 直接用numpy.loadtxt或panda...
ShanaEncoder视频压制怎么设置参数 码率控制方法【教程】
2026-05-29必须选ABR平均码率模式;点击快速设置→编码→比特率控制选ABR,目标比特率填8000kbps(300MB/5分钟),勾选2次编码,音频设AAC/192kbps/48kHz。 你需要把1080p视频压到300MB以内,同时让B站审核通过且画质不糊,ShanaEncoder里必须搞懂码率控制的三种核心参数设置路径——CRF、CQP、ABR,它们不能混用,选错一个就导致文件超大或马赛克满屏。 先确认你...
Python如何初始化PyTorch自定义层的权重_kaiming_normal与apply批量应用
2026-05-29nn.init.kaiming_normal_必须传入二维及以上Tensor(如layer.weight),并显式指定mode和nonlinearity(如'fan_in','relu'),且需先判空、判类型、确保维度合规。 PyTorch自定义层里nn.init.kaiming_normal_该传什么参数? 直接调用nn.init.kaiming_normal_必须传入一个Tensor,不能传P...
如何在Python中实现带参数的装饰器_通过三层函数嵌套传递外部参数
2026-05-29带参数的装饰器必须三层:外层接收参数并返回装饰器,中层接收函数,内层接收调用参数;不加@functools.wraps会导致__name__、__doc__等元信息丢失,影响调试、反射和IDE功能;参数校验应放在外层。 为什么带参数的装饰器必须用三层函数 因为Python的@语法只接受一个可调用对象作为装饰器,而你传进去的@log(level="DEBUG")实际上是先执行log(level="D...
Python类方法定义中必须显式声明self参数
2026-05-29Python类中定义的方法默认会自动接收实例对象作为第一个参数,若方法签名未包含self,调用时就会报“多传入1个位置参数”的错误——本质是Python隐式传入了实例,而函数未声明接收。 python类方法定义中必须显式声明`self`参数 在Python中,**所有实例方法(即定义在类内部、用于操作实例数据的方法)都必须将`self`作为第一个形参**。这不是约定俗成,而是语言强制要求:当通过实...
苹果电脑如何一键启动系统报告_Mac硬件参数查询【精选】
2026-05-28按住Option键点击苹果菜单可直启“系统信息”:1.持续按住左下角Option键;2.同时点击苹果图标;3.菜单中“关于本机”即时变为“系统信息”,点击即开,适用于Ventura至Sequoia全版本。 你需要在Mac上快速调出完整系统报告,查看CPU核心数、内存插槽分布、SSD型号与NVMe协议版本、Thunderbolt拓扑结构等深度硬件参数,而不是只看“关于本机”里那几行基础信息。 按住O...
即梦AI做电商产品展示视频用什么参数效果最好?
2026-05-28即梦AI电商视频需按平台精准配置参数:一、设画布尺寸(抖音9:16、淘宝16:9等)并锁定4K;二、用首尾帧模式+6秒时长+慢运镜;三、开电影质感增强与ARRILUT;四、启动态焦点(78%–83%)及商品细节增强;五、校验0/3/6秒关键帧并HEVC导出4K。 ☞☞☞AI智能聊天,问答助手,AI智能搜索,多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您使用即梦AI制作电商产品展示视频,但...
