C组的控制内存资源在Linux的介绍
在C组存储器子系统是用来限制和报告进程的内存使用。
很明显,有两套相应的文件,一个memsw,和其他没有它。
复制代码代码如下所示:
memory.failcnt
memory.limit_in_bytes
memory.max_usage_in_bytes
memory.usage_in_bytes
memory.memsw.failcnt
memory.memsw.limit_in_bytes
memory.memsw.max_usage_in_bytes
memory.memsw.usage_in_bytes
memsw代表的虚拟内存,即物理内存和交换区。没有memsw集团只包括物理内存。其中,limit_in_bytes是用来限制使用的内存,和其他统计报表。
复制代码代码如下所示:
#回声10485760 > /系统/ FS / C /内存/食品/ memory.limit_in_bytes
可以限制通过本组不超过10MB的进程使用的物理内存量,memory.memsw.limit_in_bytes,使用虚拟内存是limited.memory.memsw.limit_in_bytes必须大于或等于memory.limit_in_byte.these值也可以设置在更方便的100M,形式20g。溶解极限,将此值设置为- 1。
有这样一个风险限制进程的内存占用。当进程试图占据超过内存限制,会有缺页访问存储器时,并没有足够的闲置内存页可以触发OOM的时候是可以改变的,从而在过程中被杀,直接导致可用性的问题。即使对照组的OOM杀手是封闭的,过程不会被杀时内存不足,但它将进入长期。它不能继续执行,并将失败的服务。因此,我觉得用memory.limit_in_bytes或memory.memsw.limit_in_bytes限制进程的内存占用仅为保险,避免系统资源的枯竭时例外。例如,预计一批过程将消耗1G内存最多,和可以设置1.4g.this可以避免造成更严重的问题当有内存泄漏和其他异常情况。
在存储器子系统和memory.soft_limit_in_bytes.and的memory.limit_in_bytes所不同的是,这种限制并不妨碍过程超过内存限制使用,只有在系统内存,将优先恢复超过极限过程内存限制。
据说,对照组的OOM杀手可以是封闭的,它是通过memory.oom_control.cat memory.oom_control实施是否能够看到当前的设置是否和OOM此刻触发。回声1 > memory.oom_control可以禁用oom-killer。
usage_in_bytes,max_usage_in_bytes,和failcnt对应当前的使用情况,使用和缺页次数最多。
一个在内存子系统最重要的设置是memory.use_hierarchy,这是一个布尔开关,默认值为0。此时,资源约束和不同层次之间的使用价值是独立的。设置为1时,控制组的进程的内存占用也占母对照组和去回到所有的祖先控制组memory.use_hierarchy = 1。因此,对所有后裔对照组过程中资源占用不超过设置的家长控制组的资源的限制。同时,内存回收也影响着所有后裔对照组在整个树的过程内存占用达到这个过程模仿。这个值只能设置在没有控制组。然后新建子组的默认memory.use_hierarchy也继承了父母的控制组的设置。
memory.swappiness是控制交流区内核中使用的趋势。的值的范围是0—;100。值越小,就越倾向于使用物理内存,设置为0时,切换区域将只有当物理内存不足时使用的默认值。系统全局设置: / / / proc系统VM / swappiness。
memory.stat是内存使用情况报告。资源总量,包括目前使用页号、页号和活动。