linux 参数
1. 内存参数
https://www.cnblogs.com/bonelee/p/7880575.html
swappiness的值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=60。物理内存足够的时候直接设置成0.
swap空间的作用可简单这样理解:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap空间中,等到那些程序要运行时,再从swap中恢复保存的数据到 内存中。这样,系统总是在物理内存不够时,才进行swap交换。
也就是说linux 会使用硬盘的一部分做为swap分区,用来进行进程调度--进程是正在运行的程序--把当前不用的进程调成‘等待(standby)‘,甚至‘睡眠(sleep)’,一旦要用,再调成‘活动(active)’,睡眠的进程就躺到SWAP分区睡大觉,把内存空出来让给‘活动’的进程。
如果内存够大,那么这个时候应该让 linux 不必太多的使用swap分区, 可以通过修改swappiness的数值。当swappiness为0的时候表示最大限度使用物理内存,然后才是 swap空间,当swappines为100的时候,则表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
参数调整:
一般默认值都是60 [aliyunzixun@xxx.com ~]# cat /proc/sys/vm/swappiness 60 也就是说,你的内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。 临时调整的方法如下,我们调成10: [aliyunzixun@xxx.com ~]# sysctl vm.swappiness=10 vm.swappiness = 10 [aliyunzixun@xxx.com ~]# cat /proc/sys/vm/swappiness 10 这只是临时调整的方法,重启后会回到默认设置的 要想永久调整的话,需要将 需要在/etc/sysctl.conf修改,加上: [aliyunzixun@xxx.com ~]# cat /etc/sysctl.conf # Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296 vm.swappiness=10 激活设置 [aliyunzixun@xxx.com ~]# sysctl -p 在linux中,可以通过修改swappiness内核参数,降低系统对swap的使用,从而提高系统的性能。
swap 释放:
首先查看一下你实际的内存剩多少空间,然后在查看自己的swap空间用了多少,首先提前保证实际剩余的内存比你的swap的内存的空间要大,然后执行一下操作,否则会宕机的!
swapon -s 会查看到你的swap分区是挂在哪里!
swapoff /dev/sda2 停止是需要一段时间的,因为他会把内存释放到实际内存当中,
swapon -a 启动我们的swap分区。我们的swap分区内存已经成功释放到了实际内存当中!
swapon -s 会查看到你的swap分区是挂在哪里!
swapoff /dev/sda2 停止是需要一段时间的,因为他会把内存释放到实际内存当中,
swapon -a 启动我们的swap分区。我们的swap分区内存已经成功释放到了实际内存当中!
物理内存释放:
[root@SF1150 service]# free -m total used free shared buffers cached Mem: 32168 30119 2048 0 4438 11097 -/+ buffers/cache: 14583 17584 Swap: 31996 1899 30097 说明:区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。 这两个的区别在于使用的角度来看,第一行是从OS的角度来看, 因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是2098428KB,已用内存是30841684KB,其中包括,内核(OS)使用+ Application(X, oracle,etc)使用的+buffers+cached. 第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。 所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
1. 执行sync。 sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息,以防止释放,sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。
2. #echo 3 > /proc/sys/vm/drop_caches
echo 1:释放页面缓存
echo 2:释放目录文件和inodes
echo 3:释放所有缓存(页面缓存,目录文件和inodes)**
echo 2:释放目录文件和inodes
echo 3:释放所有缓存(页面缓存,目录文件和inodes)**
一搭搭
二搭搭
三搭搭