内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Linux下緩存機制free及清理buffer/cache/swap的示例分析

這篇文章給大家分享的是有關(guān)Linux下緩存機制free及清理buffer/cache/swap的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)是一家專業(yè)從事網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)依托強大的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計開發(fā)服務(wù)!

(1)緩存機制

為了提高文件系統(tǒng)性能,內(nèi)核利用一部分物理內(nèi)存分配出緩沖區(qū),用于緩存系統(tǒng)操作和數(shù)據(jù)文件,當(dāng)內(nèi)核收到讀寫的請求時,內(nèi)核先去緩存區(qū)找是否有請求的數(shù)據(jù),有就直接返回,如果沒有則通過驅(qū)動程序直接操作磁盤。

緩存機制優(yōu)點:減少系統(tǒng)調(diào)用次數(shù),降低CPU上下文切換和磁盤訪問頻率。

CPU上下文切換:CPU給每個進程一定的服務(wù)時間,當(dāng)時間片用完后,內(nèi)核從正在運行的進程中收回處理器,同時把進程當(dāng)前運行狀態(tài)保存下來,然后加載下一個任務(wù),這個過程叫做上下文切換。實質(zhì)上就是被終止運行進程與待運行進程的進程切換。

(2)查看緩存區(qū)及內(nèi)存使用情況

[root@localhost ~]# free -m

total used free shared buffers cached

Mem: 7866 7725141 1974 6897

-/+buffers/cache: 752 7113

Swap: 16382 32 16350

可以看到內(nèi)存總共8G,已使用7725M,剩余141M,不少的人都是這么看的,這樣并不能作為實際的使用率。因為有了緩存機制,具體該怎么算呢?
空閑內(nèi)存=free(141)+buffers(74)+cached(6897)
已用內(nèi)存=total(7866)-空閑內(nèi)存
由此算出空閑內(nèi)存是7112M,已用內(nèi)存754M,這才是真正的使用率,也可參考-/+ buffers/cache這行信息也是內(nèi)存正確使用率。

(3)可見緩存區(qū)分為buffers和cached,他們有什么區(qū)別呢?

內(nèi)核在保證系統(tǒng)能正常使用物理內(nèi)存和數(shù)據(jù)量讀寫情況下來分配緩沖區(qū)大小。buffers用來緩存metadata及pages,可以理解為系統(tǒng)緩存,例如,vi打開一個文件。cached是用來給文件做緩存,可以理解為數(shù)據(jù)塊緩存,例如,dd if=/dev/zero of=/tmp/test count=1 bs=1G 測試寫入一個文件,就會被緩存到緩沖區(qū)中,當(dāng)下一次再執(zhí)行這個測試命令時,寫入速度會明顯很快。

(4)隨便說下Swap做什么用的呢?

Swap意思是交換分區(qū),通常我們說的虛擬內(nèi)存,是從硬盤中劃分出的一個分區(qū)。當(dāng)物理內(nèi)存不夠用的時候,內(nèi)核就會釋放緩存區(qū)(buffers/cache)里一些長時間不用的程序,然后將這些程序臨時放到Swap中,也就是說如果物理內(nèi)存和緩存區(qū)內(nèi)存不夠用的時候,才會用到Swap。

swap清理:
swapoff -a && swapon -a
注意:這樣清理有個前提條件,空閑的內(nèi)存必須比已經(jīng)使用的swap空間大


(5)怎樣釋放緩存區(qū)內(nèi)存呢?
a)直接改變內(nèi)核運行參數(shù)
Linux釋放內(nèi)存的命令:
sync
echo 1 > /proc/sys/vm/drop_caches

drop_caches的值可以是0-3之間的數(shù)字,代表不同的含義:
0:不釋放(系統(tǒng)默認(rèn)值)
1:釋放頁緩存
2:釋放dentries和inodes
3:釋放所有緩存

釋放完內(nèi)存后改回去讓系統(tǒng)重新自動分配內(nèi)存。
echo 0 >/proc/sys/vm/drop_caches

free -m #看內(nèi)存是否已經(jīng)釋放掉了。

如果我們需要釋放所有緩存,就輸入下面的命令:
echo 3 > /proc/sys/vm/drop_caches

b)也可以使用sysctl重置內(nèi)核運行參數(shù)

sysctl -w vm.drop_caches=3

注意:這兩個方式都是臨時生效,永久生效需添加sysctl.conf文件中,一般寫成腳本手動清理,建議不要清理。
修改/etc/sysctl.conf 添加如下選項后就不會內(nèi)存持續(xù)增加
vm.dirty_ratio = 1
vm.dirty_background_ratio=1
vm.dirty_writeback_centisecs=2
vm.dirty_expire_centisecs=3
vm.drop_caches=3
vm.swappiness =100
vm.vfs_cache_pressure=163
vm.overcommit_memory=2
vm.lowmem_reserve_ratio=32 32 8
kern.maxvnodes=3

上面的設(shè)置比較粗暴,使cache的作用基本無法發(fā)揮。需要根據(jù)機器的狀況進行適當(dāng)?shù)恼{(diào)節(jié)尋找最佳的折衷。

感謝各位的閱讀!關(guān)于“Linux下緩存機制free及清理buffer/cache/swap的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)頁題目:Linux下緩存機制free及清理buffer/cache/swap的示例分析
URL鏈接:http://www.rwnh.cn/article20/jgjico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、企業(yè)建站、面包屑導(dǎo)航全網(wǎng)營銷推廣、網(wǎng)站排名移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
山西省| 海原县| 全州县| 定结县| 周至县| 香港| 汉阴县| 阳曲县| 商河县| 塔城市| 泗洪县| 阳山县| 嘉善县| 漳浦县| 阳高县| 曲阜市| 达州市| 泌阳县| 象山县| 大洼县| 林周县| 沾益县| 天全县| 南召县| 富源县| 平远县| 海淀区| 永春县| 乌审旗| 旬阳县| 阿瓦提县| 克东县| 新竹市| 高尔夫| 大余县| 化隆| 顺义区| 淮安市| 景德镇市| 革吉县| 天等县|