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)**?
轉載于:https://www.cnblogs.com/yitianyouyitian/p/9603390.html
總結
- 上一篇: 防止软件被暴力破解
- 下一篇: Interface Collector