linux 参数

1.  内存参数

https://www.cnblogs.com/bonelee/p/7880575.html

vm.swappiness

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分区内存已经成功释放到了实际内存当中!
 

物理内存释放: 

  

[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)** 
  
posted @ 2018-09-07 11:08  你的泪我的眼  阅读(662)  评论(0编辑  收藏  举报