首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux swappiness参数设置与内存交换

简介 swappiness,Linux内核参数,控制换出运行时内存的相对权重。swappiness参数值可设置范围在0到100之间。...低参数值会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。默认值为60(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间)。...swappiness参数值说明 vm.swappiness = 0 仅在内存不足的情况下--当剩余空闲内存低于vm.min_free_kbytes limit时,使用交换空间。...vm.swappiness = 10 当系统存在足够内存时,推荐设置为该值以提高性能。...vm.swappiness=10 vm.swappiness = 10 # cat /proc/sys/vm/swappiness 10 2)永久设置 在/etc/sysctl.conf中编辑,增加如下参数

10.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

郭健:Linux内存管理系统参数配置之OOM(内存耗尽)

一、前言 本文是描述Linux virtual memory运行参数的第二篇,主要是讲OOM相关的参数的。为了理解OOM参数,第二章简单的描述什么是OOM。...按照惯例,最后一章是参考文献,本文的参考文献都是来自linux内核的Documentation目录,该目录下有大量的文档可以参考,每一篇都值得细细品味。...二、什么是OOM OOM就是out of memory的缩写,虽然linux kernel有很多的内存管理技巧(从cache中回收、swap out等)来满足各种应用空间的vm内存需求,但是,当你的系统配置不合理...,让一匹小马拉大车的时候,linux kernel会运行非常缓慢并且在某个时间点分配page frame的时候遇到内存耗尽、无法分配的状况。...oom_badness函数有一个传入参数totalpages,该参数就是当时的可分配的内存上限值。

2.6K20

郭健:Linux内存管理系统参数配置之overcommit

一、前言 终于可以进入Linux kernel内存管理的世界了,但是从哪里入手是一个问题,当面对一个复杂系统的时候,有时候不知道怎么开始。...遵守“一切以人为本”的原则,我最终选择先从从userspace的视角来看内核的内存管理。最开始的系列文章选择了vm运行参数这个主题。...BTW,我不太喜欢这个参数的命名,更准确的命名应该类似vm_overcommit_policy什么的,大概是历史的原因,linux kernel一直都是保持了这个符号。...并不是系统中的物理内存有多少,totalram_pages就有多少,实际上很多的page是不能使用的,例如linux kernel本身的正文段,数据段等就不能计入totalram_pages,还有一些系统...对于支持多用户的GNU/linux系统而言,恢复系统可能需要root用来来完成,这时候需要保留一定的内存来支持root用户的登录操作,支持root进行trouble shooting(使用ps,top等命令

2.5K30

内存泄露、内存溢出和堆外内存,JVM优化参数配置参数

内存泄漏 内存泄漏是指程序在申请内存后,无法释放已申请的内存空间,无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费。 内存泄漏最终会导致OOM。...内存溢出 内存溢出即out of memory简称OOM。当程序申请内存时,没有足够的内存空间供其使用,往往会出现OOM。...堆外内存 关于堆内内存以及相应的内存回收策略,在之前的文章《JVM内存管理和垃圾回收》、《JVM垃圾回收器、内存分配与回收策略》中已有介绍。...堆外内存适用生命周期较长的对象,具有以下特点: 可以很方便的自主开辟很大的内存空间,对于大内存有良好的伸缩性 减少垃圾回收带来的系统停顿时间 在进程间可以共享对象,减少JVM间的复制过程 适合那些分配次数少...,读写操作频繁的场景 但也存在如下缺点: 容易出现内存泄漏,并且很难排查 堆外内存的数据结构不直观,当存储结构复杂的对象时,会浪费大量的时间对其进行串行化 常用JVM配置参数 -Xms:JVM初始最小堆内存

1.4K10

springboot 参数_bios内存启动参数配置

文章目录 目的 测试代码 配置文件配置 获取自定义参数 项目打包发布 修改启动配置 方式一:系统变量 方式二:命令行参数 springboot启动参数解释 目的 1、熟悉springboot多环境配置..._261/bin/java -jar -server \ ## 服务模式,linux默认是server模式,window默认是client参数 -XX:+HeapDumpOnOutOfMemoryError...UseCMSInitiatingOccupancyOnly \ ## 指在使用CMS收集器的情况下,老年代使用了指定阈值的内存时...## 设置在几次CMS垃圾收集后,触发一次内存整理 -XX:+CMSParallelRemarkEnabled \ ## 降低标记停顿 -XX:+CMSScavengeBeforeRemark...设置此配置打开对年老代的压缩,即执行Full GC后对内存进行整理压缩,免得产生内存碎片,但有可能会影响性能。

2.4K30

Linux内存描述之高端内存--Linux内存管理(五)

但是,当Linux物理内存超过1G时,线性访问机制就不够用了,因为只能有1G的内存可以被映射,剩余的物理内存无法被内核管理,所以,为了解决这一问题,Linux把内核地址分为线性区和非线性区两部分,线性区规定最大为...DMA Zone通常很小,只有几十M,低端内存区与高端内存区的划分来源于Linux内核空间大小的限制。...因此,Linux 规定“内核直接映射空间” 最多映射 896M 物理内存。...1G) 2.3 Linux内核高端内存的理解 前 面我们解释了高端内存的由来。...让我们看看这个 过程中的一些细节问题:系统调用的具体实现是将系统调用的参数依次存入寄存器ebx,ecx,edx,esi,edi(最多5个参数,该情景有两个 name和len),接着将系统调用号存入寄存器

12.4K23

JVM常用内存参数配置

(例如:-Xmn2g)   程序新创建的对象都是从年轻代分配内存,年轻代由Eden Space和两块相同大小的SurvivorSpace(通常又称S0和S1或From和To)构成,可通过-Xmn参数来指定年轻代的大小...因为CMS是不会移动内存的,因此非常容易产生内存碎片。因此增加这个参数就可以在FullGC后对内存进行压缩整理,消除内存碎片。...JVM启动参数共分为三类:   1、标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容。...本文将注重介绍JVM、GC的一些重要参数的设置来提高系统的性能。 JVM内存组成及GC相关内容请见之前的文章:JVM内存组成 GC策略&内存申请。JVM参数的含义实例见实例分析如下: ?   ...具体操作上,32位Linux和64位Linux好像不一样,64位系统似乎只要配置MaxTenuringThreshold参数,CMS还是有暂停。

3.9K30

DDR3内存参数

另外,DDR3还新增加了一个时序参数——写入延迟(CWD),这一参数将根据具体的工作频率而定。 DDR3内存优势何在   DDR3除了拥有更高的内存带宽外,其实在延迟值方面也是有提升的。...不少消费者均被CAS延迟值数值所误导,认为DDR3内存的延迟表现将不及DDR2。但相关专家指出这是完全错误的观念,要计算整个内存模块的延迟值,还需要把内存颗粒的工作频率计算在内。...,相比DDR2内存模块提升了约25%,因此消费者以CAS数值当成内存模块的延迟值是不正确的。...从外观上去看,DDR3内存与我们平时熟悉的DDR2没有太大的改变,如果没有特别留意的话不容易从外观上区分开来。下面我们来看一看DDR3内存与DDR2内存在外观设计上有什么不同之处。 ?...从上图可以看到,DDR内存金手指离内存端最近的距离为59.21mm,占整个长度约45%左右,到了DDR2时,这个长度改为61.86mm,约占整个长度47%(由于接近50%的比例让不少不太细心的用户容易把内存方向搞错

2.6K10

Linux - Linux内存管理

移除交换空间 ---- 概念 内存管理是Linux系统重要的组成部分。...要深入了解Linux内存运行机制,需要知道下面提到的几个方面。 首先,Linux系统会不时地进行页面交换操作,以保持尽可能多的空闲物理内存。...其次,Linux进行页面交换是有条件的,不是所有页面在不用时都交换到虚拟内存中,Linux内核根据“最近最经常使用”算法,仅仅将一些不经常使用的页面文件交换到虚拟内存中。...bs=m,同时设置读写块的大小,以字节为单位,此参数可代替 ibs 和 obs。 count=n仅复制n个块。 skip=n表示从输入文件开头跳过n个块后再开始复制。...mkswap [参数] [设备名称或文件][交换区大小] 参数说明如下。 -c:建立交换区前,先检查是否有损坏的区块。 -v0:建立旧式交换区,此为预设值。 -v1:建立新式交换区。

52.3K41

GOLDENGATE内存管理以及如何正确设置内存参数

(COM).当goldengate进程启动后,COM向操作申请虚拟内存空间(不是真正物理内存,操作系统使用真正使用时候才会分配的机制来提高内存使用效率),只有COM真正需要实际内存空间,操作系统才会分配内存...goldengate只复制提交数据,没有提交数据或者长事务必须进行缓存,当系统存在大量大事务或者没有提交事务时,为了保证系统稳定,将没有提交数据缓存到本地磁盘(实现临时存储,goldengate BR参数也会将事务保存在文件系统...= 785M -- buffer min = 64K buffer max (soft) = 4M pageout eligible size = 4M 2、linux...官方文档,oracle是不建议自己调整 CACHEMGR CACHESIZE,因为goldengate会根据操作系统情况自动进行优化与调整相应参数(这个基于现在主机内存内存都很大情况下),看到朋友说...下面是一个系统内存使用率比较高系统,设置cachemgr参数与没有设置cachemgr时候对比情况,配置cachemgr cachesize后业务高峰期系统很卡,注释参数后系统恢复正常 系统自动优化是512M

2.3K10

Linux内存描述之内存页面page--Linux内存管理(四)

1 Linux如何描述物理内存 Linux把物理内存划分为三个层次来管理 层次 描述 存储节点(Node) CPU被划分为多个节点(node), 内存则被分簇, 每个CPU对应一个本地物理内存, 即一个...内存中的每个节点都是由pg_data_t描述,而pg_data_t由struct pglist_data定义而来, 该数据结构定义在include/linux/mmzone.h, line 615, 每个结点关联到系统中的一个处理器...简单来说, 页是一个数据块, 可以存放在任何页框(内存中)或者磁盘(被交换至交换分区)中 我们今天就来详细讲解一下linux下物理页帧的描述 2 页帧 内核把物理页作为内存管理的基本单位....3.2 内存页标识pageflags 其中最后一个flag用于标识page的状态, 这些状态由枚举常量enum pageflags定义, 定义在include/linux/page-flags.h?...-2.6以后的内核中, 很少出现直接用宏定义的标识, 这些标识大多通过enum枚举常量来定义, 然后__NR_XXXX的形式结束, 正好可以标记出宏参数的个数, 但是在早期的实现中, 这些变量都通过宏来标识

8.3K11

Linux内存描述之内存节点node--Linux内存管理(二)

CPU访问本地内存的速度比访问远程内存的速度要快 Linux适用于各种不同的体系结构, 而不同体系结构在内存管理方面的差别很大....因此linux内核需要用一种体系结构无关的方式来表示内存....因此linux内核把物理内存按照CPU节点划分为不同的node, 每个node作为某个cpu结点的本地内存, 而作为其他CPU节点的远程内存, 而UMA结构下, 则任务系统中只存在一个内存node, 这样对于...内存域同样用类似的方法设置, 仅当系统中存在ZONE_MOVABLE内存内存域(配置了CONFIG_MOVABLE_NODE参数)时, N_MEMORY才被设定, 否则则被设定成N_HIGH_MEMORY..., 而N_HIGH_MEMORY设定与否同样依赖于参数CONFIG_HIGHMEM的设定 #ifdef CONFIG_MOVABLE_NODE N_MEMORY, /* The

7.8K21

Linux内存描述之概述--Linux内存管理(一)

2 (N)UMA模型中linux内存的机构 Linux适用于各种不同的体系结构, 而不同体系结构在内存管理方面的差别很大. 因此linux内核需要用一种体系结构无关的方式来表示内存....而内存管理的其他地方则认为他们就是在处理一个(伪)NUMA系统. 2.2 Linux物理内存的组织形式 Linux把物理内存划分为三个层次来管理 层次 描述 存储节点(Node) CPU被划分为多个节点...NODE_DATA(node_id)来查找系统中编号为node_id的结点, 参见NODE_DATA的定义 UMA结构下由于只有一个结点, 因此该宏总是返回全局的contig_page_data, 而与参数..., 我们会在后面典型架构(x86)上内存区域划分详细讲解x86_32上的内存区域划分 因此Linux内核对不同区域的内存需要采用不同的管理方式和映射方式, 为了解决这些制约条件,Linux使用了三种区:...2.6 高端内存 由于能够被Linux内核直接访问的ZONE_NORMAL区域的内存空间也是有限的,所以LINUX提出了高端内存(High memory)的概念,并且允许对高端内存的访问

6.9K30

Linux内存描述之内存区域zone--Linux内存管理(三)

Linux使用enum zone_type来标记内核所支持的所有内存区域 3.1 内存区域类型zone_type zone_type结构定义在include/linux/mmzone.h, 其基本信息如下所示...位系统中, Linux内核虚拟地址空间只有1G, 而0~895M这个986MB被用于DMA和直接映射, 剩余的物理内存被成为高端内存....v=2.6.24, line 214 当系统中可用内存很少的时候,系统进程kswapd被唤醒, 开始回收释放page, 水印这些参数(WMARK_MIN, WMARK_LOW, WMARK_HIGH)影响着这个代码的行为..., 因此ZONELIST_ORDER_ZONE和ZONELIST_ORDER_NODE选项会配置相同的内存域排列方式, 因此, 只有NUMA可以配置这几个参数 全局的current_zonelist_order...它需要指向相关的pg_data_t实例的指针作为参数 7 总结 在linux中,内核也不是对所有物理内存都一视同仁,内核而是把页分为不同的区, 使用区来对具有相似特性的页进行分组.

9.3K31

YARN 内存参数终极详解 转

YARN 内存参数终极详解 很多朋友在刚开始搭建和使用 YARN 集群的时候,很容易就被纷繁复杂的配置参数搞晕了:参数名称相近、新老命名掺杂、文档说明模糊 。...图 1: YARN 架构图 二、内存相关参数梳理 YARN 中关于内存配置的参数呢,乍一看有很多,其实主要也就是那么几个(如果你感觉实际接触到的比这更多更混乱,是因为大部分的配置参数都有新命名和旧命名,...在老版本的 MR 中,Map Task 和 Reduce Task 的 JVM 内存配置参数不是分开的,由这个参数统一指定。...pid/stat 目录下的所有文件,从中获得每个进程的所有信息; 根据当前 Container 的 pid 找出其所有的子进程,并返回这个 Container 为根节点,子进程为叶节点的进程树;在 Linux...图 4: 内存参数的组合示意图 四、结语 本文带大家深入剖析了 YARN 中几个容易混淆的内存参数,大家可以见微知著,从文章分析问题的角度找出同类问题的分析方法,文档与源码相结合,更深入了解隐藏在框架之下的秘密

1.4K20

Nacos 内存参数修改调优

Nacos内存配置 Nacos是基于Spring Boot的项目,所使用的内存参数是在启动命令中进行配置的。...logs/java_heapdump.hprof" JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages" fi 可以看出,如果是standalone模式启动,默认内存参数为...其中对应参数的含义: -Xms: 设定程序启动时占用内存大小 -Xmx: 设定程序运行期间最大可占用的内存大小 -Xmn:新生代大小 为了避免频繁GC,设置的最小和最大内存为2G。...MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=123456 # JVM调优参数...小结 关于Nacos的内存调优本质上就是Spring Boot项目的内存调优,根据自己的业务所需,可以适当的进行参数大小的调整,并观察具体情况,根据业务变化进一步调整。

5K31

Linux内存管理

本篇介绍 本篇介绍下Linux内存管理,用系统角度看内存的寻址和分配机制。 内容介绍 内存管理应该是系统中最难的模块之一了,而且历史也悠久,就先来简单回顾下。...分页机制可以完全避免内存碎片问题么? 公布下答案: 的确有分页机制就可以完全不需要分段机制,目前linux是在分段的基础上实现了分页,这个也有考虑到是兼容性问题。...; /* for /proc/PID/auxv */ struct percpu_counter rss_stat[NR_MM_COUNTERS]; struct linux_binfmt...mmap流程如下: image.png 缺页异常 linux 是在不得不使用物理内存的时候才会分配物理内存。这句话该怎么理解呢?...因此看到物理可用内存不足并不表示需要换物理内存条了。

13.7K51
领券