项目下创建文件_Linux 下创建和使用交换文件
前言:還有5天即將元旦,一元初始,如是說(shuō):新的黎明希望閃耀。今天為大家分享Linux中交換文件的使用和概念。
一,什么是 Linux 的交換文件?
交換文件允許 Linux 將磁盤空間模擬為內(nèi)存,當(dāng)你的系統(tǒng)開(kāi)始耗盡內(nèi)存時(shí),它會(huì)使用交換空間將內(nèi)存的一些內(nèi)容交換到磁盤空間上,這樣釋放了內(nèi)存,為更重要的進(jìn)程服務(wù),當(dāng)內(nèi)存再次空閑時(shí),它會(huì)從磁盤交換回?cái)?shù)據(jù)。與傳統(tǒng)的交換空間不同,交換文件不再需要單獨(dú)的分區(qū),你只要根目錄下創(chuàng)建一個(gè)文件,并告訴你的系統(tǒng)將其用作交換空間就行,而且調(diào)整交換空間的大小更加困難。但是調(diào)整交換文件的大小就顯得簡(jiǎn)單很多。二,檢查 Linux 的交換空間/文件
本文系統(tǒng)版本:CentOS?Linux?release?7.6.1810?(Core)通過(guò)如下幾個(gè)命令,可以查看系統(tǒng)當(dāng)前交換空間的情況
free -h#或者,swapon可以更清楚的顯示當(dāng)前是交換空間還是文件swapon --show由上圖可見(jiàn),我有一個(gè)4G的交換空間,這是在一個(gè)單獨(dú)的分區(qū)上,如果是交換文件,類型應(yīng)該是 file 而不是 partition(如果沒(méi)有交換空間,swapon 命令不會(huì)顯示任何輸出)
三,在 Linux 上創(chuàng)建交換文件
1:創(chuàng)建一個(gè)新的交換文件
假設(shè)要給系統(tǒng)增加 1GB 的交換空間,可以使用fallocate 命令創(chuàng)建大小為 1GB 的文件。
#一般只允許 root 用戶讀寫該交換文件fallocate?-l?1G?/swapfile_test#解決類似“不安全權(quán)限 0644,建議 0600”的警告。sudo?chmod?600?/swapfile_test交換文件的名稱可以是任意的。如果你需要多個(gè)交換空間,你可以給它任何合適的名稱,如swapfile_test1......swap_file_99 等。
2:將新文件標(biāo)記為交換空間
使用 mkswap 工具告訴 Linux 系統(tǒng)該文件將被用作交換空間
mkswap /swapfile_test你應(yīng)該會(huì)看到這樣的輸出:
3:啟用交換文件
啟用該交換文件,以便系統(tǒng)可以開(kāi)始使用該文件作為交換。
swapon?/swapfile_test#查看,結(jié)果應(yīng)該如下圖swapon --show4:讓改變持久化
如上3步這些都還是暫時(shí)的,重新啟動(dòng)系統(tǒng)所有更改都將消失,通過(guò)將新創(chuàng)建的交換文件添加到 /etc/fstab 文件來(lái)使更改持久化。
提示:對(duì) /etc/fstab 文件進(jìn)行任何更改之前都要進(jìn)行備份
#備份/etc/fstab cp /etc/fstab /etc/fstab.back#將以下行添加到?/etc/fstab 文件的末尾:vi /etc/fstabswapfile_test?none?swap?sw?0?0#或者用echo直接添加echo '/swapfile_test none swap sw 0 0' | sudo tee -a /etc/fstab如上,持久化已經(jīng)完成,就算重啟系統(tǒng)也不會(huì)失效
5:調(diào)整 swappiness 參數(shù)
swappiness 參數(shù)決定了交換空間的使用頻率。swappiness 值的范圍從 0 到 100。較高的值意味著交換空間將被更頻繁地使用因?yàn)榻粨Q空間比內(nèi)存慢,為了獲得更好的性能,應(yīng)該盡可能多地使用內(nèi)存,所以swappiness 應(yīng)該盡可能低。
#查看當(dāng)前或者默認(rèn)的swappinesscat?/proc/sys/vm/swappiness#使用以下系統(tǒng)命令動(dòng)態(tài)更改?swappiness,這種改變只是暫時(shí)的sysctl vm.swappiness=15#如果要使其永久化,可以編輯?/etc/sysctl.conf?文件在末尾添加swappiness?值:vi /etc/sysctl.confvm.swappiness=15四,調(diào)整交換空間的大小
在 Linux 上有幾種方法可以調(diào)整交換空間的大小,更改的前提是系統(tǒng)需要停止將交換文件用于交換空間,因?yàn)樗鼤?huì)將內(nèi)存頁(yè)所有數(shù)據(jù)傳輸回內(nèi)存,所以你應(yīng)該有足夠的物理空閑內(nèi)存,然后再停止交換。這里正好說(shuō)明創(chuàng)建和啟用另一個(gè)臨時(shí)交換文件是一個(gè)好的做法的原因。這樣,當(dāng)你關(guān)閉原來(lái)的交換空間時(shí),你的系統(tǒng)將使用臨時(shí)交換文件。#關(guān)閉你原來(lái)的交換文件。swapoff?/swapfile_test#使用?fallocate?命令來(lái)更改文件的大小,比方說(shuō),更改為?2GBfallocate -l 2G /swapfile_test#再次將文件標(biāo)記為交換空間mkswap?/swapfile_test#再次啟用交換文件swapon?/swapfile_test補(bǔ)充:刪除 Linux 中的交換文件
前提,確保你有足夠的空閑內(nèi)存
#現(xiàn)在關(guān)閉交換文件:sudo?swapoff?/swapfile_test#下一步是從?/etc/fstab?文件中刪除相應(yīng)的條目#最后,你可以刪除該文件來(lái)釋放空間:sudo rm /swapfile_test五,總結(jié)
交換空間性能并不能和實(shí)際的物理內(nèi)存相比,但是如果服務(wù)器負(fù)載很高,使用一點(diǎn)交換空間也是不可避免的,好了,交換空間的介紹就到這里了。
最后的最后(Last but not least),歡迎交流:
關(guān)注公眾號(hào)留言,或者在下方直接留言:
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的项目下创建文件_Linux 下创建和使用交换文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Python】一种超简单的变量交换方法
- 下一篇: linux中怎么测试i o,[linux