Linux下,Oracle 11g的自动内存管理不能指定大于这个/dev/shm的总量内存。否则就会出现如下错误

ORA-00845: MEMORY_TARGET not supported on this system

Linux环境下,挂载点 /dev/shm默认是系统内存的50%。根据Oracle的安装手册,需要手工指定 /dev/shm的空间大小,以便自动内存管理可以使用更多的内存。

最近wait4friend在一台CentOS6.2的VM上,修改/dev/shm之后出现问题,现象是系统重启后这个配置总是回复成默认值。整个过程如下

  1. 1.       查看系统当前的配置,tmpfs是1.9G,是系统内存的50%。

[root@centos01 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_centos00-lv_root

14G   11G  2.6G  80% /

tmpfs                 1.9G   88K  1.9G   1% /dev/shm

/dev/sda1             485M   37M  424M   8% /boot

  1. 2.       修改/etc/fstab,给/dev/shm指定一个比较大的数值。下面的红色部分就是新指定的数值。

[root@centos01 ~]# cat /etc/fstab

/dev/mapper/vg_centos00-lv_root /                       ext4    defaults        1 1

UUID=3f3c551e-902d-46f6-9b93-0430c175421d /boot        ext4    defaults        1 2

/dev/mapper/vg_centos00-lv_swap swap                   swap    defaults        0 0

tmpfs                   /dev/shm            tmpfs   defaults,size=3276M        0 0

  1. 3.       重新mount之后,可以确定新的设置3.2G可以生效。

[root@centos01 ~]# fuser -km /dev/shm

/dev/shm:             2136m

[root@centos01 ~]# umount /dev/shm

[root@centos01 ~]# mount /dev/shm

[root@centos01 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_centos00-lv_root

14G   11G  2.6G  80% /

/dev/sda1             485M   37M  424M   8% /boot

tmpfs                 3.2G     0  3.2G   0% /dev/shm

  1. 4.       奇怪的问题出现在reboot之后,这个配置消失了,居然又变回了默认值。

[root@centos01 ~]# reboot

[root@centos01 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_centos00-lv_root

14G   11G  2.6G  80% /

tmpfs                 1.9G   88K  1.9G   1% /dev/shm

/dev/sda1             485M   37M  424M   8% /boot

  1. 5.       难道刚才的修改没有写到配置文件?确认一下刚才的修改是保存成功的。

[root@centos01 ~]# cat /etc/fstab

tmpfs              /dev/shm                tmpfs   defaults,size=3276M        0 0

并且/etc/mtab的记录信息也是匹配的

[root@centos01 ~]# cat /etc/mtab

/dev/mapper/vg_centos00-lv_root / ext4 rw 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

devpts /dev/pts devpts rw,gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs rw,size=3276M 0 0

/dev/sda1 /boot ext4 rw 0 0

none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0

sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0

  1. 6.       经过多次测试,这个问题反复出现。wait4friend没找到其他办法,最后只能用比较暴力的办法在开机过程中remount这个目录,见下面红色的增加部分。

[root@centos01 ~]# vi /etc/rc.local

"/etc/rc.local" 11L, 274C#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

mount -o remount /dev/shm

重新启动之后,问题解决。

centos 修改shm的更多相关文章

  1. centos 修改DNS,网关,IP地址

    1.CentOS 修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf  修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameser ...

  2. centos修改hostname以及时间同步

    centos修改hostname 方法一: 执行命令:hostname test 则修改hostname为test 方法二: 永久修改hostname vi /etc/sysconfig/networ ...

  3. CentOS 修改IP地址, DNS, 网关

    一.CentOS 修改IP地址 修改对应网卡的IP地址的配置文件# vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改以下内容DEVICE=eth0 #描述 ...

  4. CentOS修改用户密码方法

    CentOS修改用户密码方法 CentOS修改用户密码方法 1. 普通用户 a. 获取超级用户root权限 命令:su或者su -或者su - root b. passwd 用户名 2. 超级用户 a ...

  5. CentOS修改系统时间

    CentOS修改系统时间 操作: 1. date –s '1987-05-02 10:10:10' 2. clock –w //将日期写入CMOS 补充: 修改Linux时间一般涉及到3个命令: 1. ...

  6. centos 修改hostname

    centos修改主机名的正确方法 1 centos6下修改hostname [root@centos6 ~]$ hostname # 查看当前的hostnmae centos6.magedu.com ...

  7. centos修改主机名命令

    centos修改主机名命令   需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.首先切换到root用户.    vi / ...

  8. CentOS 修改用户密码

    CentOS 修改用户密码 1.普通用户 ①获取超级用户root权限 命令:su 或者 su- 或者 su -root ②输入命令: passwd 用户名 ③输入新密码 2.超级用户 ①打开syste ...

  9. CentOS修改主机名字

    目录 查看hostnmae 修改hostname 远程别名/etc/hosts 查看hostnmae [root@centos ~]$ hostname centos 修改hostname [root ...

随机推荐

  1. Android minHeight/Width,maxHeight/Width

    在layout文件中,设置IamgeView的最大(最小)高度(宽度)时,需要同时设置android:adjustViewBounds="true",这样设置才会生效.在代码中设置 ...

  2. UIWebViewでローカルにあるHTMLを表示する&iOS6からtextAlignmentで指定する値が変更になった

    [objective-c]UIWebViewでローカルにあるHTMLを表示する xcode内にHTMLを格納して.そのHTMLをWebViewで表示する方法です. // UIWebViewの初期化UI ...

  3. Python自动化环境搭建

    安装配置 Eclipse + PyDev + Robotframework 集成开发环境 1.安装JDK安装目录下的jdk-7u17-windows-i586.exe文件(JAVA开发.运行环境)安装 ...

  4. 从零开始学 iOS 开发的15条建议

    事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友会问我,该怎么学iOS开发.跟粉丝群的朋友交 ...

  5. spring mvc 提交表单的例子

    1. 构建MAVEN项目,然后转换成web格式,结构图如下: 2. 通过@RequestMapping来进行配置,当输入URL时,会以此找到对应方法执行,首先调用setupForm方法,该方法主要是生 ...

  6. maintenance ShellScripts

    1.Linux挂载Winodws共享文件夹 2.查看http的并发请求数及其TCP连接状态: 3.用tcpdump嗅探80端口的访问看看谁最高 4.统计/var/log/下文件个数 5.查看当前系统每 ...

  7. poj 2540 Hotter Colder 切割多边形

    /* poj 2540 Hotter Colder 切割多边形 用两点的中垂线切割多边形,根据冷热来判断要哪一半 然后输出面积 */ #include <stdio.h> #include ...

  8. c# 搭建服务端 byte[] 处理(3)

    数据的传输中,为防止数据传输过程中被获取解析 造成数据的不安全,一般都会采取各类的方式对数据进行加密.压缩等操作,在客户端或服务端以相同的算法解析即可获得数据,一定程度上减小了数据在中间过程被获取数据 ...

  9. KVO和通知中心

    苹果其实在语言层面为我们做了很多事,比如Category实现装饰模式的意图,target-action实现命令模式意图等等,对于观察者模式,苹果也提供了KVO和通知中心,给开发者提供了极大的便利. 观 ...

  10. 城市平乱(Bellman)

    城市平乱 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 南将军统领着N个部队,这N个部队分别驻扎在N个不同的城市. 他在用这N个部队维护着M个城市的治安,这M个城市 ...