一。报错原因:设置的memory_max_target超过了系统中设置的share memory(/dev/shm)而已。
二。解决办法:增加tmpfs的大小
三。调整tmpfs的大小(两种方法)
1.直接去/etc/fstab文件中修改参数的值,重启操作系统后生效
(1)在root用户下:vi /etc/fstab
(2)[[email protected] ~]# vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults,size=4G 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
(3).[[email protected] ~]#init 6
(4)【[email protected] ~]#df -h 查看一下
2.直接用命令挂载到需要的目录
[[email protected] ~]# mount -o remount,size=4G /dev/shm
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 35G 14G 20G 43% /
/dev/sda1 99M 22M 73M 23% /boot
tmpfs 4.0G 457M 3.6G 12% /dev/shm
/dev/sr0 3.6G 3.6G 0 100% /media/Oracle Linux Server dvd 20110119
/dev/sr0 3.6G 3.6G 0 100% /mnt
扩展知识:
1.tmpfs简介:
tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,创建时不需要使用mkfs等初始化
它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。
linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由自己决定的。
Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。如果有足够大的物理内存,可以不划分Swap分区。
2.tmpfs的用途:
LINUX中可以把一些程序的临时文件放置在tmpfs中,利用tmpfs比硬盘速度快的特点提升系统性能。