大并发连接的oracle在Linux下内存不足的问题的分析(转)
最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库的SGA设置为20G,当运行业务时,一个业务高峰期时,发现swap频繁交换,CPU 100%,Load很高,基本体现为内存不足。此时的连接数在600个左右。按内存的计算:每个连接占用内存基本在5M,这样600个连接只占用3G内存,SGA内存20G,操作系统占用内存1G,这样总占用的内存为24G,而总共内存有40G,怎么会内存不足呢?当时是百思不得其解,于是做了大量的压力测试,首先是写了一个java程序,启动多个线程,每个线程与数据库建一个连接,然后循环运行一个简单的SQL,这个SQL按一个随机函数生成的ID去查询一个很大的表(有索引)。当启动1000个连接后,使用free -m查看内存:
total used free shared buffers cached
Mem: 40210 25842 14368 0 9 177
-/+ buffers/cache: 25655 14554
Swap: 20481 479 20001
MemTotal: 41175744 kB
MemFree: 27603324 kB
Buffers: 36572 kB
Cached: 13006240 kB
SwapCached: 232980 kB
Active: 304448 kB
Inactive: 12990616 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 41175744 kB
LowFree: 27603324 kB
SwapTotal: 20972816 kB
SwapFree: 20070348 kB
Dirty: 1232 kB
Writeback: 0 kB
AnonPages: 240500 kB
Mapped: 354120 kB
Slab: 136980 kB
PageTables: 34004 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 41560688 kB
Committed_AS: 17163928 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 273756 kB
VmallocChunk: 34359464051 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
MemTotal: 41175744 kB
MemFree: 375212 kB
Buffers: 36444 kB
Cached: 13005200 kB
SwapCached: 232984 kB
Active: 16919192 kB
Inactive: 509908 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 41175744 kB
LowFree: 375212 kB
SwapTotal: 20972816 kB
SwapFree: 20070340 kB
Dirty: 184 kB
Writeback: 0 kB
AnonPages: 4375088 kB
Mapped: 12889760 kB
Slab: 168916 kB
PageTables: 23005464 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 41560688 kB
Committed_AS: 40413008 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 273756 kB
VmallocChunk: 34359464051 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
root hard memlock -1
oracle hard memlock -1
total used free shared buffers cached
Mem: 40210 26234 13976 0 20 184
-/+ buffers/cache: 26029 14181
Swap: 20481 479 20001
大并发连接的oracle在Linux下内存不足的问题的分析(转)的更多相关文章
- 大并发连接的oracle在Linux下内存不足的问题的分析
大并发连接的oracle在Linux下内存不足的问题的分析 2010-01-28 20:06:21 分类: Oracle 最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库 ...
- 推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐一个比较好用的流媒体服务开源代码: ZLMediaKit: 实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求 https://gitee.com/xiahcu/Z ...
- Linux下内存查看命令
在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...
- Linux下内存查看及详解
在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...
- Linux下内存映射文件的用法简介
由于项目需要,所以学习了一下Linux下内存映射文件的用法,在这里共享一下自己的收获,希望大家提出宝贵意见,进行交流. 简介: 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区 ...
- linux下利用elk+redis 搭建日志分析平台教程
linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...
- Linux下USB suspend/resume源码分析【转】
转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...
- DEBUG模式下, 内存中的变量地址分析
测试函数的模板实现 /// @file my_template.h /// @brief 测试数据类型用的模板实现 #ifndef MY_TEMPLATE_H_2016_0123_1226 #defi ...
- Oracle在Linux下的性能优化
Oracle数据库内存参数的优化 Ø 与oracle相关的系统内核参数 Ø SGA.PGA参数设置 Oracle下磁盘存储性能优化 Ø 文件系统的选择(ext2 ...
随机推荐
- 用ATL开发和部署ActiveX网页控件
用ATL开发和部署ActiveX网页控件 摘 要 ActiveX插件技术广泛的运用于B/S系统中,本文通过一个项目实例,详细介绍用ATL开发和部署ActiveX网页控件的过程.学习使用ActiveX让 ...
- Swift - 炫酷放射弹出按钮菜单(改造自AwesomeMenu)
这个是一个第三方按钮菜单组件,原版是使用Objective-C编写的名为AwesomeMenu的组件,地址是:https://github.com/levey/AwesomeMenu 这里改造成了Sw ...
- protobuf-2.5.0.tar.gz的下载与安装
1.下载 hadoop使用protocol buffer进行通信,须要下载和安装protobuf-2.5.0.tar.gz.因为如今protobuf-2.5.0.tar.gz已经无法在官网https: ...
- li里的a标签浮动了,为什么li本身也浮动了?
<ul> <li><a href="#"></a></li> <li><a href="#& ...
- windows下Memcached 架设及java应用
1 Memcached 介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据 ...
- shell 调试
感觉编写shell在查找错误的过程中,很让你崩溃,还好shell也提供了一些调试的方式: 语法检查 -n选项做语法检查,而不执行脚本 sh -n script_name.sh 启动 ...
- Linux Socket编程注意事项
Socket API 是网络应用程序开发中实际应用的标准 API.虽然该 API 简单.可是开发新手可能会经历一些常见的问题.本文识别一些最常见的隐患并向您显示怎样避免它们. 隐患 1.忽略返回状态 ...
- latex表格线的颜色设置(边框添加颜色)
添加了如下包:边框颜色要用到booktabs, colortbl, 包,下面代码里有一个自定义的颜色tabcolor \usepackage{ctexcap} \usepackage{graphicx ...
- php 简易验证码(GD库)
论坛中为了防止灌水,出现了非常多的验证码的插件.如今这里介绍一个非常easy的自己定义验证码函数,这个验证码实现的原理就是通过php扩展的gd库来实现的. 给出百度百科对验证码的定义"验证码 ...
- groovy : 正則表達式
groovy 正則表達式 企图模仿Perl 的语法,结果是我试用后.发现没法提取匹配的字符串. 还是直接引用 java.util.regex 负责对字符序列进行正則表達式匹配 先转载水木清华上的样例 ...