• 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)** 
      
  • 相关阅读:
    八数码问题
    Choose and divide
    紫书 动态规划例题
    3657 括号序列 动态规划
    动态规划 舞蹈家怀特
    分数规划
    Keywords Search AC自动机
    Minimum Transport Cost Floyd 输出最短路
    A Simple Problem with Integers 线段树 区间更新 区间查询
    CF519E A and B and Lecture Rooms
  • 原文地址:https://www.cnblogs.com/yitianyouyitian/p/9603390.html
Copyright © 2020-2023  润新知