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. 查看系统当前的配置,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
- 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
- 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
- 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
- 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
- 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的更多相关文章
- centos 修改DNS,网关,IP地址
1.CentOS 修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf 修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameser ...
- centos修改hostname以及时间同步
centos修改hostname 方法一: 执行命令:hostname test 则修改hostname为test 方法二: 永久修改hostname vi /etc/sysconfig/networ ...
- CentOS 修改IP地址, DNS, 网关
一.CentOS 修改IP地址 修改对应网卡的IP地址的配置文件# vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改以下内容DEVICE=eth0 #描述 ...
- CentOS修改用户密码方法
CentOS修改用户密码方法 CentOS修改用户密码方法 1. 普通用户 a. 获取超级用户root权限 命令:su或者su -或者su - root b. passwd 用户名 2. 超级用户 a ...
- CentOS修改系统时间
CentOS修改系统时间 操作: 1. date –s '1987-05-02 10:10:10' 2. clock –w //将日期写入CMOS 补充: 修改Linux时间一般涉及到3个命令: 1. ...
- centos 修改hostname
centos修改主机名的正确方法 1 centos6下修改hostname [root@centos6 ~]$ hostname # 查看当前的hostnmae centos6.magedu.com ...
- centos修改主机名命令
centos修改主机名命令 需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.首先切换到root用户. vi / ...
- CentOS 修改用户密码
CentOS 修改用户密码 1.普通用户 ①获取超级用户root权限 命令:su 或者 su- 或者 su -root ②输入命令: passwd 用户名 ③输入新密码 2.超级用户 ①打开syste ...
- CentOS修改主机名字
目录 查看hostnmae 修改hostname 远程别名/etc/hosts 查看hostnmae [root@centos ~]$ hostname centos 修改hostname [root ...
随机推荐
- artTemplate-3.0
https://github.com/aui/artTemplate artTemplate-3.0 新一代 javascript 模板引擎 目录 特性 快速上手 模板语法 下载 方法 NodeJS ...
- Linux中的cron计划任务配置方法(详细)
cron来源于希腊单词chronos(意为“时间”),指Linux系统下一个自动执行指定任务的程序(计划任务) 1. crontab命令选项 #crontab -u <-l, -r, -e> ...
- 快速美眉(FastMM)使用手记
今天在SourceForge下到了FastMM (Fast Memory Manager),听说比官方的内存管理快多了,试了一下,果然不错.目前最新的是4.27. 就我的使用范围来说,我就是想看看我的 ...
- 紫薇~还记得大明湖畔的HTML5智力拼图吗?
曲线谜团是非常有趣的HTML5智力游戏,据说超过多少分会有惊喜,游戏简单易操作,偶尔抛弃那种杀死脑细胞的大型游戏,玩玩这种简单经典的益智小游戏,放松放松,也是不错的选择嘛-将游戏 通过 统一开发环境( ...
- Spring单例与线程安全小结
一.Spring单例模式与线程安全 Spring框架里的bean,或者说组件,获取实例的时候都是默认的单例模式,这是在多线程开发的时候要尤其注意的地方. 单例模式的意思就是只有一个实例.单例模式确 ...
- js类方法,对象方法,原型的理解(转)
function People(name) { this.name=name; //对象方法 this.Introduce=function(){ alert("My name is &qu ...
- 深入理解java虚拟机---读后笔记(垃圾回收)
运行时数据区,主要包括方法区.虚拟机栈.本地方法栈.堆.程序计数器,该部分内存都是线程隔离的. 然后和其交互的有执行引擎.本地库接口,此部分线程之间是可以共享的. 1. 引用计数算法 给对象添加一个引 ...
- golang win32编程的一个dll坑
例子 package main import ( "github.com/lxn/win" "strconv" "syscall" ) fu ...
- 截取字符串一之slice
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- iOS实现文件上传功能模块
iOS实现文件上传功能,首先要知道的是,上传到服务器的数据格式,一般采用HTTP文件上传协议.如下图 如图所示,只要设置好了HTTP的协议格式,就可以实现文件上传功能. 代码如下: //图片上传模块 ...