Linux系統(tǒng)頻繁存取文件,會(huì)發(fā)現(xiàn)物理內(nèi)存很快會(huì)被用光當(dāng)程序結(jié)束后,內(nèi)存不會(huì)被正常釋放,會(huì)一致作為Caching.Linux系統(tǒng)快的一個(gè)重要原因,增加Cachelinux常用命令,有效縮短IO時(shí)間,很多架構(gòu)設(shè)計(jì)的思想都是以空間換時(shí)間的嘛.一般是不需要手動(dòng)釋放內(nèi)存的.有別于Windows系統(tǒng)的內(nèi)存設(shè)計(jì)理念.
前置知識(shí): /proc是一個(gè)虛擬文件系統(tǒng),作為和Linux內(nèi)核實(shí)體通信的一種方式.可以是通過(guò)修改/proc來(lái)修改Kernel做相應(yīng)調(diào)整.
也就是說(shuō)可以通過(guò)調(diào)整/proc/sys/vm/drop_caches來(lái)釋放內(nèi)存.
查看當(dāng)前系統(tǒng)的內(nèi)存使用情況和總的內(nèi)存.看到buff/cache是非常大的.頻繁讀寫時(shí)文件,命中率也將提高,必然減小IO時(shí)間.
實(shí)際上是看可用內(nèi)存的,就是最后一列嘛.free小不代表內(nèi)存不夠用.Swap也是沒有使用的.
查看 /proc/sys/vm/drop_caches
解釋一下參數(shù)drop_caches的參數(shù).
0:不釋放,系統(tǒng)的默認(rèn)設(shè)置,不釋放內(nèi)存.
1:釋放頁(yè)緩存(頁(yè)面緩存linux常用命令,頻繁進(jìn)行讀寫時(shí)).
2:釋放dentries和inodes(目錄項(xiàng),文件).
3:釋放所有緩存.
運(yùn)行 sync(將dirty的內(nèi)容寫入磁盤,防止數(shù)據(jù)丟失).
echo 1 > /proc/sys/vm/drop_caches
釋放完之后改回來(lái),讓系統(tǒng)自動(dòng)分配內(nèi)存.
echo 0 > /proc/sys/vm/drop_caches(無(wú)效的參數(shù))
Linux 內(nèi)核3.0及以上是無(wú)法更改的,重啟可以改回來(lái)的.shutdown -r 1
lsof -i:端口號(hào)
4.1 Linux不同主機(jī)之間復(fù)制文件.
本地即將要復(fù)制的文件.
遠(yuǎn)程主機(jī)復(fù)制前的根目錄狀態(tài).
現(xiàn)在是本機(jī)復(fù)制一個(gè)testscp.txt文件到hw-cloud主機(jī)的/root目錄下.
scp是基于ssh登錄安全的傳輸,傳輸是加密的.不會(huì)提高系統(tǒng)多少負(fù)載的.針對(duì)很多小文件也基本不影響系統(tǒng)的正常運(yùn)行的.
本地主機(jī)執(zhí)行命令如下.
scp -r local_folder remote_username@remote_ip:remote_folder
scp 本地文件絕對(duì)路徑(path) 遠(yuǎn)程主機(jī)用戶名@IP地址:文件要存放的路徑(path).
可以看到由于沒有配置免密登錄,需要輸入遠(yuǎn)程主機(jī)的root密碼的.可以看到進(jìn)度條了.
查看遠(yuǎn)程主機(jī)文件復(fù)制結(jié)果.文件復(fù)制成功.
加參數(shù)-r 就可以遞歸的復(fù)制目錄下面的文件了,也就是演示了復(fù)制目錄.
下面測(cè)試一下:(準(zhǔn)備一下本地即將要復(fù)制的測(cè)試目錄
scp -r 本次要復(fù)制到遠(yuǎn)程主機(jī)的目錄的絕對(duì)路徑 遠(yuǎn)程用戶@IP:存放復(fù)制來(lái)的目錄的絕對(duì)路徑.
結(jié)果查看
遠(yuǎn)程主機(jī)復(fù)制到本機(jī)目錄下,一樣的方式只是交換一下兩者之間的位置即可.
測(cè)試一下:
首先刪除本地目錄的那個(gè)testscp目錄,下次遠(yuǎn)程復(fù)制過(guò)來(lái)一個(gè)目錄.
查看結(jié)果:(上述命令在本機(jī)下執(zhí)行喲)
常用的幾個(gè)參數(shù)
-q 不顯示傳輸進(jìn)度條。
-r 遞歸復(fù)制整個(gè)目錄。
-P port 注意是大寫的P, port是指定數(shù)據(jù)傳輸用到的端口號(hào) 。