config large memory
C Configuring Large Memory Optimization
This appendix provides information for configuring memory optimization with large page tables on the Linux operating system, using Hugepages. It contains the following topics:
C.1 Overview of HugePages
You can choose to configure HugePages. For some uses, HugePages can provide enhanced performance. However, this feature is an advanced configuration option. It is not a requirement for Oracle RAC.
The following is an overview of HugePages. It does not provide RPM or configuration information. The tasks you must perform for configuration depend on kernel distribution and hardware on your system. If you decide to configure your cluster nodes to use HugePages, then refer to your distribution documentation and to Oracle Technical Network (OTN) and My Oracle Support for further information.
C.1.1 What HugePages Provides
HugePages is a feature integrated into the Linux kernel with release 2.6. It is a method to have larger pages where it is useful for working with very large memory. It can be useful for both 32-bit and 64-bit configurations. HugePage sizes vary from 2MB to 256MB, depending on the kernel version and the hardware architecture. For Oracle Databases, using HugePages reduces the operating system maintenance of page states, and increases TLB (Translation Lookaside Buffer) hit ratio.
Without HugePages, the operating system keeps each 4 KB of memory as a page, and when it is allocated to the SGA, then the lifecycle of that page (dirty, free, mapped to a process, and so on) must be kept up to date by the operating system kernel.
With HugePages, the operating system page table (virtual memory to physical memory mapping) is smaller, since each page table entry is pointing to pages from 2 MB to 256 MB. Also, the kernel has fewer pages whose lifecyle must be monitored.
For example, if you use HugePages with 64-bit hardware, and you want to map 256 MB of memory, you may need one page table entry (PTE). If you do not use HugePages, and you want to map 256 MB of memory, then you must have 256 MB * 1024 KB/4 KB = 65536 PTEs.
C.2 Restrictions for HugePage Configurations
To use HugePages, you must configure Grub to allocate memory for HugePages during system startup. After paging space is reserved, HugePages can be used as needed. However, if the space they require is not reserved in memory during system startup, then a HugePages allocation may fail.
HugePages are not subject to allocation or release after system startup, unless a system administrator changes the hugepages configuration by modifying the number of pages available, or the pool size.
在x86_64的linux平台,一条PTE占用8字节,而不是12字节(可以google)
对于32G的SGA而言,每个进程需要使用64M的PTE, 1000个并发连接则需要总共62.5G的PTE
config large memory的更多相关文章
- redis报错Windows error 0x70(a large memory)
		
redis报错Windows error 0x70 redis 嫌弃你内存不够了,就给你不开第二个实例. The Windows version of Redis allocates a large ...
 - System and method to prioritize large memory page allocation in virtualized systems
		
The prioritization of large memory page mapping is a function of the access bits in the L1 page tabl ...
 - SAP NOTE 1999997 - FAQ: SAP HANA Memory
		
Symptom You have questions related to the SAP HANA memory. You experience a high memory utilization ...
 - Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors
		
目录 . Rowhammer Introduction . Rowhammer Principle . Track And Fix 1. rowhammer introduction 今天的DRAM ...
 - System Services ->  Memory Management  -> About Memory Management
		
Virtual Address Space Memory Pools Memory Performance Information Virtual Memory Functions Heap Func ...
 - Oracle Database Memory Structures
		
Oracle Database creates and uses memory structures for various purposes. For example, memory stores ...
 - Memory Leak Detection in C++
		
原文链接:http://www.linuxjournal.com/article/6556?page=0,0 An earlier article [“Memory Leak Detection in ...
 - PatentTips - Modified buddy system memory allocation
		
BACKGROUND Memory allocation systems assign blocks of memory on request. A memory allocation system ...
 - [SPDK/NVMe存储技术分析]015 - 理解内存注册(Memory Registration)
		
使用RDMA, 必然关系到内存区域(Memory Region)的注册问题.在本文中,我们将以mlx5 HCA卡为例回答如下几个问题: 为什么需要注册内存区域? 注册内存区域有嘛好处? 注册内存区域的 ...
 
随机推荐
- (转)教你如何使用php session
			
学会php session可以在很多地方使用,比如做一个后台登录的功能,要让程序记住用户的session,其实很简单,看了下面的文章你就明白了. PHP session用法其实很简单它可以把用 ...
 - leetcode修炼之路——350. Intersection of Two Arrays II
			
题目如下: Given two arrays, write a function to compute their intersection. Example: Given nums1 = [1, 2 ...
 - iOS中使用正则表达式去掉HTML中的标签元素获得纯文本的方法
			
content是根据网址获得的网页源码字符串 - (NSString *)changeToString:(NSString *)content { NSRegularExpression *regul ...
 - iOS开发之Quartz2D详解
			
1. 什么是Quartz2D? Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片( ...
 - model 和 view 实现思考
			
采用model.view = view 和 view.model=model 进行双向绑定,还有一种方案是采用id号进行绑定,viewmodel的views 和 models 属性存放所有的id 映 ...
 - 【USACO 2.3.4】货币系统
			
[描述] 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单 ...
 - C#实现的异步Socket服务器
			
介绍 我最近需要为一个.net项目准备一个内部线程通信机制. 项目有多个使用ASP.NET,Windows 表单和控制台应用程序的服务器和客户端构成. 考虑到实现的可能性,我下定决心要使用原生的soc ...
 - 正则表达式 U贪婪模式
			
<?php/*模式修正符号: i u 位置:"//模式修正符位置" 可以一次使用一个,也可以一次使用多个 对整个正则表达式调优用的,也可以说是对正则表达式功能的扩展 &quo ...
 - PhotoShop 移动工具详解
			
自动选择工具 勾选后 可以随意移动任意图层 不勾选 只适用于移动当前所选图层 Ctrl+Z 还原移动Ctrl+Alt+Z 后退一步 复制图像 Alt键+拖动 Shift+Alt+拖动 ...
 - PS抠图神器:KNOCKOUT 2.0
			
从优设上转载~~太好用了,保存下来以备不时之需. 本人亲身实践~~先看使用成果~~哈哈~~ 原版图 : 抠过的图: 主要看飘逸的发丝~~~而且全程操作不超过5分钟!! 下载地址: http://vdi ...