[转载]调整虚拟内存

简介:

本文转自调整虚拟内存,支持原创、尊重原创,分享知识!个人发现有些翻译不当的地方,稍微做了下修改、调整。如果英文足够NB,建议阅读英文。

 

虚拟内存通常被进程、文件系统缓存以及内核消耗。虚拟内存的使用由很多因素决定,受以下参数影响:
swappiness
参数值可为 0-100,控制系统 swap 的使用程度。高数值可优先系统性能,在进程不活跃时主动将其转换出物理内存。低数值可优先互动性并尽量避免将进程转换处物理内存,并降低反应延迟。默认值为  60
 

Warning

Since RHEL 6.4, setting  swappiness=0  more aggressively avoids swapping out, which increases the risk of OOM killing under strong memory and I/O pressure.
A low  swappiness  value is recommended for database workloads. For example, for Oracle databases, Red Hat recommends a  swappiness  value of  10 .
 
min_free_kbytes
保证系统间可用的最小 KB 数。这个值可用来计算每个低内存区的高水位线,然后为其大小按比例分配保留的可用页。
 

可破坏您系统的极限值

设定这个参数时请小心,因为该值过低和过高都有问题。
min_free_kbytes  太低可防止系统重新利用内存。这可导致系统挂起并让 OOM 杀死多个进程。
但将这个参数值设定太高(占系统总内存的 5-10%)会让您的系统很快会内存不足。Linux 的设计是使用所有可用 RAM 缓存文件系统数据。设定高  min_free_kbytes  值的结果是在该系统中花费太多时间重新利用内存。
dirty_ratio
规定百分比值。当脏数据组成达到系统内存总数的这个百分比值后开始写下脏数据(pdflush)。默认值为  20
dirty_background_ratio
规定百分比值。当脏数据组成达到系统内存总数的这个百分比值后开始在后端写下脏数据(pdflush)。默认值为  10
drop_caches
将这个值设定为  1 2  或者  3  让内核放弃各种页缓存和 slab 缓存的各种组合。
1
系统无效并释放所有页缓冲内存。
2
系统释放所有未使用的 slab 缓冲内存。
3
系统释放所有页缓冲和 slab 缓冲内存。
这是一个非破坏性操作。因为脏对象不能被释放,建议设置参数值之前运行  sync 命令。
 

重要

不建议在产品环境中使用  drop_caches  释放内存。
要在调节时临时设定这些值,请将所需值 echo 到 proc 文件系统中的适当文件中。例如:要将  swappiness  临时设定为  50 ,请运行:
 
 
要永久设定这个值,则需要使用  sysctl  命令。有关详情请参考《部署指南》,网址为http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/
相关文章
|
3月前
|
Linux
linux内存不足,调整swap空间
linux内存不足,调整swap空间
34 0
|
11天前
|
存储 缓存 监控
Linux内存和硬盘空间管理技巧
了解Linux内存和硬盘管理技巧,提升系统性能和稳定性。使用`free`, `top`, `vmstat`监控内存,通过`sync`, `echo 1 > /proc/sys/vm/drop_caches`清理缓存。利用Swap分区释放内存。借助`df`, `du`检查硬盘空间,清理无用文件,使用`clean-old`, `gzip`, `tar`压缩归档。查找大文件用`find`和`du`,确保
32 0
|
1月前
设置虚拟内存
设置虚拟内存
45 1
|
3月前
|
C语言 芯片
获取物理内存容量
获取物理内存容量
38 0
|
3月前
|
缓存 算法 Linux
Linux内存管理宏观篇(六)物理内存:分配小内存块
Linux内存管理宏观篇(六)物理内存:分配小内存块
59 1
|
3月前
|
缓存 算法 安全
Linux内存管理宏观篇(五)物理内存:页面分配和释放页面
Linux内存管理宏观篇(五)物理内存:页面分配和释放页面
110 1
|
3月前
|
缓存 算法 Linux
Linux内存管理宏观篇(三)物理内存:物理页面
Linux内存管理宏观篇(三)物理内存:物理页面
52 1
|
5月前
|
运维 监控 NoSQL
游戏服务器内存占用动态调整
游戏服务器内存占用动态调整
33 0
|
5月前
|
缓存
系统内存占用过高原因分析
系统内存占用过高原因分析
201 0
|
5月前
|
存储 缓存 Linux
系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理
虚拟内存的主要作用是提供更大的地址空间,使得每个进程都可以拥有大量的虚拟内存,而不受物理内存大小的限制。此外,虚拟内存还可以提供内存保护和共享的机制,保护每个进程的内存空间不被其他进程非法访问,并允许多个进程共享同一份物理内存数据,提高了系统的资源利用率。虚拟内存的实现方式有分段和分页两种,其中分页机制更为常用和灵活。分页机制将虚拟内存划分为固定大小的页,将每个进程的虚拟地址空间映射到物理内存的页框中。为了减少页表的大小和访问时间,采用了多级页表的方式,将大的页表划分为多个小的页表,只加载需要的页表项,节约了内存空间。
192 0
系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理