centos 修改shm

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%。

[[email protected] ~]# 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指定一个比较大的数值。下面的红色部分就是新指定的数值。

[[email protected] ~]# 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可以生效。

[[email protected] ~]# fuser -km /dev/shm

/dev/shm:             2136m

[[email protected] ~]# umount /dev/shm

[[email protected] ~]# mount /dev/shm

[[email protected] ~]# 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之后,这个配置消失了,居然又变回了默认值。

[[email protected] ~]# reboot

[[email protected] ~]# 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.       难道刚才的修改没有写到配置文件?确认一下刚才的修改是保存成功的。

[[email protected] ~]# cat /etc/fstab

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

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

[[email protected] ~]# 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这个目录,见下面红色的增加部分。

[[email protected] ~]# 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

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

时间: 2024-10-17 17:43:46

centos 修改shm的相关文章

Centos修改系统时间

本人在下午在做nginx日志访问实验成功后发生访问的记录的时间不对,故特地在往上搜寻了centos修改系统时间的命名,呵呵.虽然简单,但是以前也曾经操作过,容易忘记,所以还是收藏起来以便以后用的时候忘记呢. #date 查看系统时间 如下图所示 2 #date -s 修改时间 看下面的例子#date -s  03/04/2013(将系统日期设定为2013年03月04日) 3 #date -s  110:38(将系统时间设定为上午 10:38) 4 修改完后执行:clock -w  ,强制将时间写

CentOS修改yum更新源

1. 在修改前先备份该文件 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2. 修改更新源配置文件(CentOS6地址,其他版本类似) vim打开配置文件: vim /etc/yum.repos.d/CentOS-Base.repo 复制以下内容粘贴到配置文件中进行: # CentOS-Base.repo # # The mirror system uses the connecting IP

Linux CentOS修改网卡IP/网关设置

1. 修改对应网卡IP的配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0   修改以下内容 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址BROADCAST=192.168.0.255 #对应的子

centos 修改字符集为GB2312的方法

这几天总是被一个问题困扰着,那就是base64的加密,在centos 服务器上无法解密.经过反复测试才发现,原来是因为centos 系统没有GB2312库导致的. 加密端是在ASP.NET中处理的,解密是在centos 下使用java.ASP.NET默认采用的是GB2312字符集,所以,对应的解密也必须使用GB2312.为了成功解析,所以必须让centos 也支持GB2312.最终问题解决. 下面将centos 中设置GB2312字符集的方法分享给大家. 第一步:检查下中文支持包是否已经安装 [

centos修改mysql密码或者进入mysql后解决Access denied for user ''@'localhost' to database 'mysql错误

原因是MySQL的密码有问题 用mysql匿名用户可以进入数据库,但是看不见mysql数据库. 解决办法:具体操作步骤:关闭mysql:# service mysqld stop然后:# mysqld_safe --skip-grant-tables开启另一个终端并启动mysql:# service mysqld startmysql -u rootmysql> use mysqlmysql> UPDATE user SET Password=PASSWORD('root') WHERE us

CentOS修改系统默认语言与编码

有时候在安装CentOS无意中把默认语言设置为中文,而部分SSH软件不支持中文编码,所以在远程管理的时候会出现些乱码的现象. 如何修改CentOS的默认语言呢? 请先使用root权限帐户登陆 一.进入语言配置文件 vi  /etc/sysconfig/i18n 用SSH执行以上命令,用vi编辑器修改/etc/sysconfig/i18n文件.  www.2cto.com 二.修改语言 将默认的LANG="zh_CN.UTF-8"修改为 LANG="en_US.UTF-8&qu

[转载]CentOS 修改IP地址, DNS, 网关

一.CentOS 修改IP地址 修改对应网卡的IP地址的配置文件 # vi /etc/sysconfig/network-scripts/ifcfg-eth0   电信 # vi /etc/sysconfig/network-scripts/ifcfg-eth0:1 网通 修改以下内容DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应

CentOS修改SSH默认端口

1. 修改配置文件 vim /etc/ssh/sshd_config 修改 #Port 22 这行,  去掉 #  修改后面的端口号 例如 Port 2123 重启sshd服务 /etc/init.d/sshd restart 2. 修改防火墙配置 vim /etc/sysconfig/iptables 可以参照已有的配置去修改, 比如 -A INPUT -m state --state NEW -m tcp -p tcp --dport 2123 -j ACCEPT 重启防火墙 /etc/in

CentOS修改网络设置,不容易啊,终于可以在virtualbox里上网了

CentOS 修改网关 修改对应网卡的网关的配置文件[[email protected]]# vi /etc/sysconfig/network修改以下内容NETWORKING=yes(表示系统是否使用网络,一般设置为yes.如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)GATEWAY=192.168.1.1(设置本机连接的网关的IP地址.例如,网关为10.0.0.2)