精华内容
下载资源
问答
  • (1)kernel.shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。Linux 2.4/2.6缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为和实际内存一样大即可。 (2)kernel.shmmni:这个内核参数用于...

    在这里,对oracle在/etc/sysctl 要用到的参数值做个简要的解释和说明。

    (1)kernel.shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。Linux 2.4/2.6缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为和实际内存一样大即可。
    (2)kernel.shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改。
    (3)kernel.shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改。
    (4)kernel.sem:该参数表示设置的信号量。
    (5)fs.file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
    (6)net.ipv4.ip_local_port_range: 表示端口的范围,为指定的内容。
    (7)net.core.rmem_default: 表示接收套接字缓冲区大小的缺省值(以字节为单位)。         
    (8)net.core.rmem_max: 表示接收套接字缓冲区大小的最大值(以字节为单位)            
    (9)net.core.wmem_default: 表示发送套接字缓冲区大小的缺省值(以字节为单位)。
    (10)net.core.wmem_max: 表示发送套接字缓冲区大小的最大值(以字节为单位)。

     

    修改好内核以后,执行sysctl -p命令使新的配置生效。

     

    注意:
     对于32位系统,一页=4k,也就是4096字节
     kernel.shmall = 4096  就是 4096*4k/1024/1024 = 15M 就是说可用共享内存一共 15M,数据库当然会起不来啦。
     原值为 kernel.shmall = 4096
     
    设置的一般规律
     
    kernel.shmall = 2097152    ---内存8G
     kernel.shmall = 4194304    ---内存16G
     kernel.shmall = 8388608    ---内存32G
     kernel.shmall = 10485760    ---内存40G
     kernel.shmall = 12582912    ---内存48G
     kernel.shmall = 14680064    ---内存56G
     kernel.shmall = 16777216    ---内存64G
     kernel.shmall = 20971520    ---内存80G
     kernel.shmall = 25165824    ---内存96G
     kernel.shmall = 33554432    ---内存128G
     kernel.shmall = 50331648    ---内存192G
     kernel.shmall = 67108864    ---内存256G

    展开全文
  • yarn内存参数

    千次阅读 2015-03-01 10:54:44
    yarn内存参数

    参考自: 

    1)http://blog.chinaunix.net/uid-28311809-id-4383551.html
    2)https://support.pivotal.io/hc/en-us/articles/201462036-Mapreduce-YARN-Memory-Parameters 

    1、yarn-site.xml 设置

    1.1 RM设置

    RM的内存资源配置,主要是通过下面的两个参数进行的(这两个值是Yarn平台特性,应在yarn-sit.xml中配置好): 
    yarn.scheduler.minimum-allocation-mb 
    yarn.scheduler.maximum-allocation-mb
    说明:单个容器可申请的最小与最大内存,应用在运行申请内存时不能超过最大值,小于最小值则分配最小值,从这个角度看,最小值有点想操作系统中的页。最小值还有另外一种用途,计算一个节点的最大container数目注:这两个值一经设定不能动态改变(此处所说的动态改变是指应用运行时)。

    1.2 NM设置

    NM的内存资源配置,主要是通过下面两个参数进行的(这两个值是Yarn平台特性,应在yarn-sit.xml中配置) :
    yarn.nodemanager.resource.memory-mb
    yarn.nodemanager.vmem-pmem-ratio
    说明:每个节点可用的最大内存,RM中的两个值不应该超过此值。此数值可以用于计算container最大数目,即:用此值除以RM中的最小容器内存。虚拟内存率,是占task所用内存的百分比,默认值为2.1倍;注意:第一个参数是不可修改的,一旦设置,整个运行过程中不可动态修改,且该值的默认大小是8G,即使计算机内存不足8G也会按着8G内存来使用。

    2、map-site.xml 设置

    2.1 AM设置

    AM内存配置相关参数,此处以MapReduce为例进行说明(这两个值是AM特性,应在mapred-site.xml中配置),如下:
    mapreduce.map.memory.mb
    mapreduce.reduce.memory.mb
    说明:这两个参数指定用于MapReduce的两个任务(Map and Reduce task)的内存大小,其值应该在RM中的最大最小container之间。如果没有配置则通过如下简单公式获得:
    max(MIN_CONTAINER_SIZE, (Total Available RAM) / containers))
    一般的reduce应该是map的2倍。注:这两个值可以在应用启动时通过参数改变;

    2.2 AM JVM设置

    AM中其它与内存相关的参数,还有JVM相关的参数,这些参数可以通过,如下选项配置:
    mapreduce.map.java.opts
    mapreduce.reduce.java.opts
    说明:这两个参主要是为需要运行JVM程序(java、scala等)准备的,通过这两个设置可以向JVM中传递参数的,与内存有关的是,-Xmx,-Xms等选项。此数值大小,应该在AM中的map.mb和reduce.mb之间。

    3、所有参数

    YARN相关:
    yarn.scheduler.minimum-allocation-mb
    yarn.scheduler.maximum-allocation-mb
    yarn.nodemanager.vmem-pmem-ratio
    yarn.nodemanager.resource.memory.mb
    Map相关参数
    mapreduce.map.java.opts
    mapreduce.map.memory.mb
    Reduce相关参数
    mapreduce.reduce.java.opts
    mapreduce.reduce.memory.mb
    注意:
    在hadoop2及以上版本中,map和reduce task 是运行在container中的。mapreduce.{map|reduce}.memory.mb被yarn用来设置container的内存大小。如果container的内存超限,会被yarn杀死。在container中,为了执行map和reduce task,yarn会在contaner中启动一个jvm来执行task任务。mapreduce.{map|reduce}.java.opts用来设置container启动的jvm参数,通过设置Xmx来设置map 或者reduce task的最大堆内存。理论上,{map|reduce}.java.opts设置的最大堆内存要比{map|reduce}.memory.mb小。例如:
    hadoop jar <jarName> -Dmapreduce.reduce.memory.mb=4096 -Dmapreduce.map.java.opts=-Xmx3276

    4、举例说明

    如下图:
    默认情况下,yarn.nodemanager.vmem-pmem-ratio被设置为2.1,这意味着,每个map或者task任务只能使用2.1倍("mapreduce.reduce.memory.mb") or ("mapreduce.map.memory.mb") 大小的虚拟内存,否则,会被nm杀掉。
    例如下面的的报错信息:
    Current usage: 2.1gb of 2.0gb physical memory used; 1.6gb of 3.15gb virtual memory used. Killing container.

    map container的内存("mapreduce.map.memory.mb")被设置为1536mb 。am为其申请了2048m的内存,因为am的最小分配(yarn.scheduler.minimum-allocation-mb)是1024.如果map task对内存超过了2048m,nm会kill掉该task。reduce类似。When a mapreduce job completes you will see several counters dumped at the end of the job.The three

    memory counters below show how much physical memory was allocated vs virtual memory. 

    展开全文
  • presto内存分配参数

    千次阅读 2019-07-16 15:32:19
    prestor参数 query.max-memory-per-node 每个机器上用于执行用户任务的内存大小,比如:排序等操作,超出限制将kill query.max-total-memory-per-node 每个节点上用于系统与用户任务的内存大...

    假如设置最大Heap内存为35G

    需要考虑的Heap最大值因素,因为需要给系统与其他守护进程留有空间,所以最好不要将内存设置为机器内存大小

    prestor参数

    query.max-memory-per-node

    每个机器上用于执行用户任务的内存大小,比如:排序等操作,超出限制将kill

    query.max-total-memory-per-node

    每个节点上用于系统与用户任务的内存大小,该参数据包括上一个参数,多出系统所用内存,比如系统分配读写等,超出限制将kill

    query.max-memory

    整个集群可以使用的最大用户执行内存

    query.max-total-memory

    整个集群可以使用的最大的系统和用户执行内存

    memory.heap-headroom-per-node

    各人理解是预保留的内存区域,用于一些非用户查询,有点像jvm perm(错误的理解)

    该区域为不监控内存区,主要保存一些辅助信息,比如帮助jvm gc回收等 

    presto内存分类:通用pool,系统 pool,预留pool

    通用pool主要是执行查询

    系统pool主要执行查询的系统调用

    预留pool与上面的memory.heap-headroom-per-node对应(错误的理解)

    预留pool是为一些大的查询预留的内存空间,比如有很多并发查询,占用了大多数的空间,当有一个大的查询它一直获得不到

    资源会将它分配预留空间,但是该空间的查询只 能是排队执行的

     

    参数与pool的对应关系 

    0.201 前 query.max-memory-per-node 代表预留pool的大小

    0201后 query.max-total-memory-per-node代表预留pool的大小

    0.201后系统pool被废除,可以看到 query.max-total-memory/query.max-total-memory-per-node

    来控制用户加系统内存大小

     

    所以通用pool 在最新版本 = max heap - query.max-total-memory-per-node -  memory.heap-headroom-per-node

     

    • query.max-memory-per-node = 12GB
    • query.max-total-memory-per-node =15GB
    • memory.heap-headroom-per-node = 8GB

    计算通用pool=35G - 15G - 8G

    假如我们确定query.max-memory 48G还需要考虑query.initial-hash-partitions 的设置

    如果query.initial-hash-partitions =8那么

    48G / 8 =6G

    那么 12G/6G =2,这表示如果在hash partition的时候,现有通用pool大小可以容忍两倍的数据倾斜。

    初次察看presto相关文档,不对之处,请大家指证。

    展开全文
  • 配置内存相关参数 前面我们说过,内存的使用对于MySQL的性能是非常重要的,所以如何正确的配置MySQL服务器所使用的内存参数,就显得至关重要,MySQL对内存的使用我们可以分为两类: 无法通过配置参数所配置的...
    • 前言

    前面的我们为大家介绍了,Mysql这个测试参数的作用域,以及如何对全局还有session参数进行配置,下面我们就来看一看具体的参数的配置项

    • 配置内存相关的参数

    前面我们说过,内存的使用对于MySQL的性能是非常重要的,所以如何正确的配置MySQL服务器所使用的内存参数,就显得至关重要,MySQL对内存的使用我们可以分为两类:

    1. 无法通过配置参数所配置的,如果MySQL服务器运行、解析、查询以及内部管理所消耗那种内存,这是无法通过配置参数所配置的;
    2. 可以通过参数配置所控制的,如各类的缓冲池所使用的内存。

    问:如何对MySQL所使用的内存进行配置?

    答:

    1. 确定可以使用的内存的上限【在所有的操作系统上,都存在可以给MySQL服务器做使用内存上限的限制,最根本的一点的是我们给MySQL服务器配置的可以使用的内存呢,是不能超过服务器本身安装的物理内存的,不要以为是在开玩笑,没有人会这样配置,但是实际上呢,见过很多这样的配置的情况,比如说的一些进程使用的内存配置的过大时,当MySQL连接突然增长,就会产生这样的情况,从而导致MySQL服务器因为内存溢出而崩溃,另一方面的限制还和我们所使用的操作系统的架构有关系,32位的操作系统对于一个进程可以使用内存呢,就是有限制的,因为MySQL就是在单进程下运行的,所以,如果使用的是32位操作系统的话,可能就只能使用3G以内的那种内存了,所以之前也建议过大家,对于现代的服务器和操作系统来说,都一定要使用64位这种架构的】
    2. 确定买MySQL每个连接使用的内存【MySQL对于一些缓存是会对每个连接单独分配的,所以呢,如果连接数越大,暂用的内存也就会越多】

    这个参数中需要注意的主要是有以下几个:

    • 首先第一个是排序缓冲区的尺寸(sort_buffer_size)【这个参数决定了MySQL每个线程使用的排序缓存区的这个大小,MySQL并不是在连接初始化的时候就会给每个缓冲区分配内存,而是在有查询需要做排序操作时,才会为每个缓冲区分配内存,然而重要的是一旦查询需要排序,MySQL会立即分配这个参数指定大小的全部内存,而不管该排序是否需要这么大内存,有时候人们为了某些大的查询的排序,可以效率高一些,比如说一百兆,如果有一百个连接同时进行排序,那么MySQL就会占用十个g左右的内存,所以很容易造成这种服务器的内存溢出,所以呢,大家在进行这个参数配置的时候呢,一定要多加小心】
    • 连接缓冲区的尺寸(join_buffer_size),SQL每个线程所使用连接缓冲区的大小,对于这个参数需要注意的是,如果一个查询中关联了多张表,就会为每一个关联的分配一个连接缓冲,每个查询可能会多个连接缓存,所以这个参数也不可能设置得太大。
    • 读缓冲区的尺寸(read_buffer_size)这个参数指定了当对MyISAM表进行全表扫描时,所分配的读缓冲池的大小,MySQL只会在有查询需要时,才会被该缓存的分配内存,同样会一次性分配该参数大小的内存,这个参数的大小一定要是4k的一个倍数。
    • 索引缓冲区的尺寸(read_rnd_buffer_size)下面这个参数的控制的是索引缓冲区的大小,MySQL也只是会在有查询需要时才会对该缓冲区的分配内存,并且只能分配需要的内存大小,而不是参数指定大小。

    总结:

    全是为每个线程所分配的,如果我们有一百个链接,那么可能会分配一百倍以上四个参数及内存大小的核,所以如果以上四个内存参数的配置的过大,很有可能会造成很大的内存浪费,这是造成MySQL的内存溢出,而使的MySQL服务器崩溃。

    • 如何为缓冲池配置内存

    InnoDB存储一起不尽要缓存索引还要数据,hash索引插入、缓冲、锁以及其他的内部数据结构,前面提到InnoDB还使用缓存池拿来帮助延迟写入,这样就能合并多个写入操作,然后一起顺序的写入到磁盘,总之InnoDB性能的严重依赖于缓存池时,所以呢,我们必须保证给他分配的足够多的内存。

    问:如果我们的系统中只使用了InnoDB表,InnoDB缓存池的大小了如何计算?

    答:也就是总内存减去每个线程所需的内存乘以连接数,这个就是我们前面所介绍的,所有单个线程所需要的内存的总和,乘以我们可能达到大的连接数,再减去系统保留的内存,大致就是InnoDB的缓存池的大小了。

     

    解析:在Mysql手册中的建议的InnoDB大小的,应该为服务器内存的75%以上,我们还必须要考虑很多其他的一些因素,当然啦,如果我们当InnoDB表数量很小,并且在很长一段时间内的增长都是可以预计的话,那也就没有必要把剩余的所有内存都分配给InnoDB缓存池,因为缓存池的内存总量如果超过了,InnoDB表的总数量加索引所占用的空间的大小的话呢,那就没有意义了,如果我们的数据量会快速增长,就需要InnoDB缓存池预留一些空间,因为MySQL 5.7之前的版本来说,InnoDB缓存池的大小的变更,是需要重启服务器的,所以呢,我们不能随意的调整InnoDB缓冲池的大小,而对于InnoDB缓存池,还有一点需要注意的是,很大的缓冲池也会,使的InnoDB在关闭的时候,需要更多的时间把从缓存池刷新到磁盘上;

     

    解析:这个参数配置的缓存池主要适用于MyISAM这种存储引擎的,MyISAM存储引擎只会缓存索引,数据则是依赖操作系统的缓存,所以如果我们系统中存在很多的MyISAM表的话,给操作系统预留的内存中,还要包括缓存MyISAM表数据这一部分内存。

    同InnoDB缓存池一样,超过这个数据量大小的缓存池的配置也是没有必要的。

    我们可以通过下面的查询:

    来知道MyISAM表索引所占用空间大小,这里面有一点要注意的就是,就算是我们系统中使用的全都是InnoDB表,也还是要为分配一定的空间,就是因为MySQL系统表目前还在使用MyISAM存储引擎。

     

    展开全文
  • JVM内存设置参数分析

    万次阅读 2016-08-02 14:33:26
    引言:JVM提供了诸多的参数进行JVM各个方面内存大小的设置,为Java应用进行优化提供了诸多的工具,本文将会详细分析各个参数的功能与使用。
  • 内存重要参数详解

    千次阅读 2014-02-12 17:25:17
    内存重要参数详解 重新花时间温习一下memory的一些概念,找了一些之前保存的文档,介绍ddr的相关概念的。现已找不到原文链接。 时序  内存的时序参数一般简写为2/2/2/6-11/1T的格式,分别代表CAS/tRCD/tRP...
  • LINUX内存相关的内核参数

    千次阅读 2014-09-06 16:34:19
    原文地址:LINUX内存相关的内核参数作者:yide1728 linux控制内存的内核参数,大多放在在/proc/sys/vm目录下,主要分为几类:  控制内存cache  1、dirty_background_bytes/dirty_background_ratio ...
  • 文章目录服务器参数介绍MySQL获取信息配置领MySQL配置参数的作用域内存配置相关参数IO相关配置参数安全相关配置参数其它常用配置参数 服务器参数介绍 MySQL获取信息配置领 1) 命令行 mysqld_safe --datadir=/xxx/...
  • OutOfMemoryError内存溢出相关的JVM参数

    千次阅读 2019-07-09 08:36:07
    原文在这里: OutOfMemoryError内存溢出相关的JVM参数 JVM提供了很多处理内存溢出的相关参数,本文主要来讲解下这些参数,当你遇到内存溢出的时候可能会对你非常有帮助,这些参数主要有: 1.-XX:+...
  • Postgresql相关内存设置参数

    千次阅读 2011-11-28 13:59:45
    关于PostgreSQL有六个主要的参数设置。 第一:share_buffers 第二:temp_buffers 第三:max_prepared_transactions 第四:work_mem 第五:maintenance_work_mem 第六:max_stack_depth share_buffers Sets...
  • Java JVM:内存结构和相关参数

    千次阅读 2016-02-17 14:50:04
    Java 堆内存和非堆内存参数 一. Java 整体内存结构 以下针对JDK7: 图1 如图1,JVM内存区域分为PC寄存器,JVM方法栈,本地方法栈,JVM方法区,JVM堆。 PC寄存器:存放下一条指令在方法中的...
  • HPUX swap内存 物理内存 参数说明

    千次阅读 2016-04-13 10:22:15
    近期hpux 小型机巡检的时候(oracle业务)发现swapinfo命令返回很多参数,total 参数使用率47%左右,在网上没有找到精确的说明, 所以咨询了HP原厂,说明如下: dev指的是swap内存 reserve是给进程预分配的内存...
  • DDR内存参数笔记

    千次阅读 2013-10-14 13:52:55
    因系统较卡,尝试改变DDR2的时序参数,所以查了下DDR2的内存参数,在网上查了些资料,在此做下笔记。 http://blog.csdn.net/force_eagle/article/details/2294229   tCL:CAS Latency Control  一般...
  • JVM内存参数设置

    千次阅读 2013-09-10 15:43:54
    永久存储区相关参数: -XX:PermSize 应用服务器启动时,永久存储区的初始化内存大小;默认64M。 -XX:MaxPermSize 应用运行中,永久存储区域的最大值。为了不消耗扩大JVM永久存储区分配的开销,将此参数和-XX:...
  • Hadoop&yarn内存参数解析&性能调优
  • YARN 内存参数终极详解

    千次阅读 2016-03-02 17:37:25
    特别是那几个关于内存的配置参数,即使看好几遍文档也不能完全弄懂含义不说,配置时一不小心就会张冠李戴,犯错误。 如果你同样遇到了上面的问题,没有关系,在这篇文章中,我就为大家梳理一下 YARN 的几个不易...
  • Redis内存配置参数<maxmemory>

    千次阅读 2017-02-28 15:54:26
    redis-cache所能使用的最大内存(bytes),默认为0,表示"无限制",最终由OS物理内存大小决定(如果物理内存不足,有可能会使用swap)。此值尽量不要超过机器的物理内存尺寸,从性能和实施的角度考虑,可以为物理内存3/4。此...
  • Oracle 内存参数调优设置

    千次阅读 2018-07-06 15:08:39
     1 主要系统参数调优介绍 2 系统内存参数的分配 2.1 Oracle 实例= 内存结构 + 进程结构 内存结构 = SGA + PGA SGA(系统全局区): 用户存储数据库信息的内存区,该区域为数据库进程所共享。它包含服务器的数据和...
  • JVM堆内存相关的启动参数:年轻代、老年代和永久代的内存分配 2015年03月27日 15:38:48 阅读数:2091 如果想观察JVM进程占用的堆内存,可以通过命令工具jmap或者可视化工具jvisualvm.exe。JVM这些启动参数都拥有...
  • Yarn 内存分配管理机制及相关参数配置

    万次阅读 多人点赞 2015-05-04 10:53:42
    关于Yarn内存分配与管理,主要涉及到了ResourceManage、ApplicationMatser、NodeManager这几个概念,相关的优化也要紧紧围绕着这几方面来开展。这里还有一个Container的概念,现在可以先把它理解为运行map/re
  • JVM常用内存参数配置

    万次阅读 多人点赞 2017-11-08 09:55:22
    一、 常用参数  -Xms   JVM启动时申请的初始Heap值,默认为操作系统物理内存的1/64但小于1G。默认当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过-XX:MaxHeapFreeRation=来指定这个比列。...
  • JVM 内存区域大小参数设置

    千次阅读 2017-05-15 17:24:48
    2. JVM垃圾回收算法下图是JVM内存区域划分的逻辑图从图中我们大概了解JVM相关内存区域。JVM内存包括区域 Heap(堆区)New Generation(新生代) Eden Survivor From Survivor To Old Generation(老年代) 方法区...
  • JVM这些启动参数都拥有默认值,如果想了解JVM的内存分配策略,最好手动设置这些启动参数。再通过JDK提供的工具的统计结果,就比较容易理解这些内存分配的理论知识。运行环境是win7 32位操作系统,JDK1.7.0_60版本。...
  • mysql配置参数调优(8GB内存和64GB内存)

    千次阅读 2019-09-11 22:33:26
    文章目录一、前言二、查看服务器的CPU和内存1、查看CPU的个数2、查看服务器的内存3、数据库版本三、64GB内存的mysql配置参数四、本机8GB内存的mysql配置参数1、查看数据库版本2、具体的配置参数五、总结1、数据库...
  • JVM内存配置参数说明

    千次阅读 2009-12-18 20:19:00
    最近在工作过程中总是出现OutOfMemoryException的问题,很是气愤,决定搞清楚这些参数的意义。 首先先说一下JVM内存结构问题,JVM为两块:PermanentSapce和HeapSpace,其中 HeapSpace= {Old + NEW {= Eden , from, ...
  • Oracle数据库内存参数调优技术

    千次阅读 2013-11-08 22:41:06
    这篇论坛文章主要针对Oracle内存参数的调优技术进行了深入的讲解,详细内容请参考下文。 近来公司技术,研发都在问我关于内存参数如何设置可以优化Oracle的性能,所以抽时间整理了这篇文档,以做参考。 目的: 希望通过...
  • Oracle 的内存参数配置

    千次阅读 2019-08-05 13:32:16
    1 Oracle内存分配 主要分SGA和PGA ,一般情况下,应该保持: SGA + PGA = 系统内存的70% ; SGA :PGA分配 = 80% : 20% 。 对于目前机器内存比较大的情况,大部分在32G或以上。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 955,742
精华内容 382,296
关键字:

内存的相关参数