之前想把系統(tǒng)的日志寫(xiě)入內(nèi)存當(dāng)中,無(wú)奈默認(rèn)只能寫(xiě)10M,嚇得我趕緊把日志切回到硬盤(pán)上。不過(guò)緊巴巴的硬盤(pán)也不怎么夠用。于是還是不死心,看看能不能把內(nèi)存中日志的容量設(shè)置得大一點(diǎn)。于是就有了這篇文章。
做人最要緊呢,就是對(duì)自己的認(rèn)識(shí)要足夠清晰
怎么樣才能知道我的機(jī)器上,總共有多少內(nèi)存呢?雖然買(mǎi)的是云服務(wù)器,但是作為一個(gè)Linux服務(wù)器管理員,機(jī)器都給你了還沒(méi)法解決,總覺(jué)得說(shuō)不過(guò)去。于是今天又認(rèn)識(shí)了一個(gè)新朋友:free
禮數(shù)要到位。
man free

手冊(cè)上對(duì)該命令的描述不多,基本上就是說(shuō),這個(gè)命令能查看系統(tǒng)上物理內(nèi)存和swap內(nèi)存,總共有多少,使用了多少,還剩多少。以及內(nèi)核使用了多少緩存。這個(gè)信息也是通過(guò)解析 /proc/meminfo 得來(lái)的。
什么是swap內(nèi)存?
描述中提到了我不太熟悉的 swap內(nèi)存,順便給大家科普一下。紅帽的文檔對(duì)它有一個(gè)說(shuō)明:
Linux中的swap空間是當(dāng)物理內(nèi)存(RAM)耗盡時(shí)使用的。如果系統(tǒng)需要更多的內(nèi)存資源,而RAM已經(jīng)滿了,那么內(nèi)存中不活躍的頁(yè)面會(huì)被移動(dòng)到swap空間中。盡管swap空間能夠幫機(jī)器提供少量的RAM,但是不能把它想成是RAM變多了。swap空間存在于硬盤(pán)中,比物理內(nèi)存的訪問(wèn)速度更慢。
swap空間可以是一個(gè)專(zhuān)屬swap分區(qū),也可以是一個(gè)swap文件,亦或是兩者的組合。
所以,聽(tīng)起來(lái),似乎會(huì)讓人聯(lián)想到Windows上的虛擬內(nèi)存的概念。有更專(zhuān)業(yè)的解答歡迎留到評(píng)論區(qū)。
free命令返回的結(jié)果分為好幾列,分別是:
total:總共安裝內(nèi)存容量,來(lái)自于 /proc/meminfo 中的 MemTotal 和 SwapTotal
used:已使用的內(nèi)存容量,計(jì)算方法為:total – free -buffers – cache
這里提到了 buffers 和 cache 。兩者在內(nèi)存中,各自承擔(dān)著不同的角色。
簡(jiǎn)單說(shuō)一下區(qū)別的話:
cache:
它存儲(chǔ)的東西可不止一樣,不過(guò)最主要的呢,還是保存了硬盤(pán)中,最經(jīng)常訪問(wèn)的數(shù)據(jù),以便為系統(tǒng)進(jìn)程提供更高的讀寫(xiě)性能。盡可能最大化地使用內(nèi)存,并且有一套自己判斷該存什么,不該存什么的邏輯,也有一套何時(shí)釋放內(nèi)存空間的機(jī)制。
buffer:
保存了cache中數(shù)據(jù)的元數(shù)據(jù)。如果請(qǐng)求了cache中存在的數(shù)據(jù),第一步是檢查指向cache中的真實(shí)數(shù)據(jù)的元數(shù)據(jù),一旦元數(shù)據(jù)找到了,內(nèi)核就能夠去獲取cache中的真實(shí)數(shù)據(jù)了。
free:未使用的內(nèi)存容量
shared:通常是 tmpfs 所使用的內(nèi)存容量
buffers:內(nèi)核緩沖使用的內(nèi)存容量
cache:頁(yè)面緩存和 slabs 使用的內(nèi)存容量
buff/cache:buffers和cache的總和
available:預(yù)估不做swap的話,啟動(dòng)新應(yīng)用可用的內(nèi)存空間。
那么列就以上這么多,大家在使用命令的時(shí)候,可以各取所需。
命令選項(xiàng)
命令選項(xiàng)有很多,來(lái)看2個(gè)比較常用的:
--si

如果你比較講究,喜歡標(biāo)準(zhǔn)的程序員單位的話,不用這個(gè)選項(xiàng)就很適合您。各個(gè)單位之間,都相差1024倍,比如1M是1024K。如果你更習(xí)慣整數(shù)1000的話,可以帶上這個(gè)選項(xiàng)。每個(gè)單位都差1000倍。
-h即--human

筆者自認(rèn)為還是個(gè)人類(lèi),這個(gè)選項(xiàng)就是給人類(lèi)用的??梢愿鶕?jù)單位的設(shè)置,自動(dòng)把容量縮小到3位數(shù)之內(nèi),同時(shí)帶上對(duì)應(yīng)的單位。
實(shí)踐
實(shí)踐時(shí)間,漏家底的時(shí)候到了,看看我電腦上的內(nèi)存有多大。

太好了,一個(gè)G的樣子。
同意給筆者加內(nèi)存的記得長(zhǎng)按點(diǎn)贊哈。我們下期不見(jiàn)不散。
本文由網(wǎng)上采集發(fā)布,不代表我們立場(chǎng),轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zmlzfb.cn/shbk/49496.html