首页 > 代码库 > MEMORY_TARGET不够时解决办法

MEMORY_TARGET不够时解决办法

一。报错原因:设置的memory_max_target超过了系统中设置的share memory(/dev/shm)而已。

二。解决办法:增加tmpfs的大小

三。调整tmpfs的大小(两种方法)

1.直接去/etc/fstab文件中修改参数的值,重启操作系统后生效

(1)在root用户下:vi /etc/fstab

(2)[root@gaogao ~]# 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).[root@gaogao ~]#init 6

(4)【root@gaogao ~]#df -h 查看一下

2.直接用命令挂载到需要的目录

[root@gaogao ~]# mount -o remount,size=4G /dev/shm

[root@gaogao ~]# 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比硬盘速度快的特点提升系统性能。

 

MEMORY_TARGET不够时解决办法