最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux free命令以及系統(tǒng)內(nèi)存占用過(guò)高的處理方式

 更新時(shí)間:2023年05月30日 08:53:39   作者:slyybw  
這篇文章主要介紹了linux free命令以及系統(tǒng)內(nèi)存占用過(guò)高的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

linux free 命令以及系統(tǒng)內(nèi)存占用過(guò)高的處理

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3770         228        3270          11         271        3285
Swap:          8190           0        8190

第一行Mem,表示物理內(nèi)存統(tǒng)計(jì)

  • total:總內(nèi)存大小
  • used:已使用內(nèi)存大小
  • free:當(dāng)前空閑內(nèi)存大小
  • shared:多個(gè)進(jìn)程共享的內(nèi)存總額
  • buffers/cached:緩存內(nèi)存數(shù)據(jù)

第二行-/+ buffers/cache:

(1)used  實(shí)際使用的內(nèi)存,等于第一行的 used - buffers - cached

(2)free  實(shí)際可用內(nèi)存,等于第一行的 free + buffers + cached

內(nèi)存占用計(jì)算公式used/(used+free)

第三行Swap表示交換區(qū)的使用情況,也就是我們通常所說(shuō)的虛擬內(nèi)存。

free常用參數(shù)

  • free -b #以Byte為單位顯示內(nèi)存使用情況
  • free -k #以KB為單位顯示內(nèi)存使用情況,也是默認(rèn)參數(shù)
  • free -m #以MB為單位顯示內(nèi)存使用情況
  • free -g #以GB為單位顯示內(nèi)存使用情況
  • free -s<數(shù)字> #間隔數(shù)字秒數(shù)刷新顯示內(nèi)存使用情況
  • free -t #顯示內(nèi)存總和列
  • free -V#顯示當(dāng)前版本

在Linux系統(tǒng)下,我們一般不需要去釋放內(nèi)存,因?yàn)橄到y(tǒng)已經(jīng)將內(nèi)存管理的很好。但是凡事也有例外,有的時(shí)候內(nèi)存會(huì)被緩存占用掉,導(dǎo)致系統(tǒng)使用SWAP空間影響性能,此時(shí)就需要執(zhí)行釋放內(nèi)存(清理緩存)的操作了。

Linux系統(tǒng)的緩存機(jī)制是相當(dāng)先進(jìn)的,他會(huì)針對(duì)dentry(用于VFS,加速文件路徑名到inode的轉(zhuǎn)換)、Buffer Cache(針對(duì)磁盤(pán)塊的讀寫(xiě))和Page Cache(針對(duì)文件inode的讀寫(xiě))進(jìn)行緩存操作。

但是在進(jìn)行了大量文件操作之后,緩存會(huì)把內(nèi)存資源基本用光。但實(shí)際上我們文件操作已經(jīng)完成,這部分緩存已經(jīng)用不到了。

這個(gè)時(shí)候,我們難道只能眼睜睜的看著緩存把內(nèi)存空間占據(jù)掉么?

所以,我們還是有必要來(lái)手動(dòng)進(jìn)行Linux下釋放內(nèi)存的操作,其實(shí)也就是釋放緩存的操作了。

要達(dá)到釋放緩存的目的,我們首先需要了解下關(guān)鍵的配置文件/proc/sys/vm/drop_caches。

這個(gè)文件中記錄了緩存釋放的參數(shù),默認(rèn)值為0,也就是不釋放緩存。他的值可以為0~3之間的任意數(shù)字,代表著不同的含義:

  • 0 – 不釋放
  • 1 – 釋放頁(yè)緩存
  • 2 – 釋放dentries和inodes
  • 3 – 釋放所有緩存

知道了參數(shù)后,我們就可以根據(jù)我們的需要,使用下面的指令來(lái)進(jìn)行操作。

首先我們需要使用sync指令,將所有未寫(xiě)的系統(tǒng)緩沖區(qū)寫(xiě)到磁盤(pán)中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫(xiě)映射文件。否則在釋放緩存的過(guò)程中,可能會(huì)丟失未保存的文件。

#sync

接下來(lái),我們需要將需要的參數(shù)寫(xiě)進(jìn)/proc/sys/vm/drop_caches文件中,比如我們需要釋放所有緩存,就輸入下面的命令:

#echo 3 > /proc/sys/vm/drop_caches

此指令輸入后會(huì)立即生效,可以查詢(xún)現(xiàn)在的可用內(nèi)存明顯的變多了。

要查詢(xún)當(dāng)前緩存釋放的參數(shù),可以輸入下面的指令:

cat /proc/sys/vm/drop_caches

1.清理前內(nèi)存使用情況

free -m

2.開(kāi)始清理

echo 1 > /proc/sys/vm/drop_caches

3.清理后內(nèi)存使用情況

free -m

4.完成

查看內(nèi)存條數(shù)命令:

dmidecode | grep -A16 "Memory Device$"

linux 內(nèi)存 占用較高問(wèn)題排查

查看內(nèi)存情況

#按 k 查看

free

#按兆M查看

free -m

  • total:總計(jì)物理內(nèi)存的大小。
  • used:已使用多大。
  • free:可用有多少。
  • Shared:多個(gè)進(jìn)程共享的內(nèi)存總額。
  • Buffers/cached:磁盤(pán)緩存的大小。

#所以空閑內(nèi)存=free+buffers+cached=total-used

內(nèi)存的使用情況

cat /proc/meminfo

查看進(jìn)程的內(nèi)存占用

pidstat -r -p 24427 1 5 

內(nèi)存占用高的前20

ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4 | head -20

動(dòng)態(tài)查看內(nèi)存占用

slabtop

問(wèn)題定位

cached 占用過(guò)高問(wèn)題

buffer,cached的作用:

cached主要負(fù)責(zé)緩存文件使用, 日志文件過(guò)大造成cached區(qū)內(nèi)存增大把內(nèi)存占用完 .

Free中的buffer和cache:(它們都是占用內(nèi)存):

  • buffer : 作為buffer cache的內(nèi)存,是塊設(shè)備(磁盤(pán))的緩沖區(qū),包括讀、寫(xiě)磁盤(pán)
  • cache: 作為page cache的內(nèi)存, 文件系統(tǒng)的cache,包括讀、寫(xiě)文件

如果 cache 的值很大,說(shuō)明cache住的文件數(shù)很多。

linux服務(wù)器會(huì)自動(dòng)釋放內(nèi)存,保障系統(tǒng)運(yùn)行,但只會(huì)釋放夠用的內(nèi)存,而不會(huì)去釋放更多的內(nèi)存。

解決方法:

手動(dòng)釋放cached方法有三種(系統(tǒng)默認(rèn)值是0,釋放之后你需要再改回0值):

釋放前最好sync一下,防止丟數(shù)據(jù)

sync 在啟動(dòng)機(jī)器或關(guān)機(jī)之前一定要運(yùn)行sync命令。記住在任何情況下,慎重地執(zhí)行sync命令決不會(huì)有任何壞處,sync命令強(qiáng)制把磁盤(pán)緩沖的所有數(shù)據(jù)寫(xiě)入磁盤(pán)

To free pagecache: #echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes: #echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes: #echo 3 > /proc/sys/vm/drop_caches

#常用方法是

sync
echo 1 > /proc/sys/vm/drop_caches

#清除后要還原系統(tǒng)默認(rèn)配置:

echo 0 > /proc/sys/vm/drop_caches

#查看設(shè)置

 sysctl -a | grep drop_caches

補(bǔ)充: echo 字符串 > 文件 就是把字符串內(nèi)容從定向到文件中

這時(shí)查看 free 可以看到 cached 降低了很多

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在CentOS 7下安裝Redis和MongoDB教程

    在CentOS 7下安裝Redis和MongoDB教程

    本篇文章主要介紹了在CentOS 7下安裝Redis和MongoDB教程,有需要的可以了解一下。
    2016-11-11
  • linux如何利用crontab添加定時(shí)任務(wù)詳解

    linux如何利用crontab添加定時(shí)任務(wù)詳解

    這篇文章主要給大家介紹了關(guān)于linux如何利用crontab添加定時(shí)任務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • linux文件目錄管理命令整理總結(jié)

    linux文件目錄管理命令整理總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于linux文件目錄管理命令整理總結(jié),需要的朋友們參考下。
    2019-11-11
  • vagrant如何啟動(dòng)虛擬機(jī)

    vagrant如何啟動(dòng)虛擬機(jī)

    本文介紹了使用Vagrant和VirtualBox快速搭建Linux虛擬機(jī)的過(guò)程,包括創(chuàng)建Vagrantfile、配置網(wǎng)絡(luò)、使用SSH連接以及賬戶(hù)配置等步驟
    2024-11-11
  • Linux防火墻配置及放行端口方式

    Linux防火墻配置及放行端口方式

    文章介紹了firewalld防火墻的基本操作與配置方法,包括狀態(tài)查看、開(kāi)關(guān)及開(kāi)機(jī)啟動(dòng)設(shè)置;端口放行(如80/90端口)、作用域指定、IP訪(fǎng)問(wèn)控制及規(guī)則刪除;強(qiáng)調(diào)需重新加載規(guī)則使配置生效,并提供相關(guān)命令示例
    2025-08-08
  • Linux 下rpm命令參數(shù)詳解

    Linux 下rpm命令參數(shù)詳解

    linux下的rpm常用命令,主要是用來(lái)安裝rmp包,是linux下比較方便的東西
    2008-06-06
  • Linux編程之ICMP洪水攻擊

    Linux編程之ICMP洪水攻擊

    這篇文章主要為大家詳細(xì)介紹了Linux編程之ICMP洪水攻擊的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 詳解fedora 開(kāi)啟 apache 并 開(kāi)啟目錄瀏覽模式

    詳解fedora 開(kāi)啟 apache 并 開(kāi)啟目錄瀏覽模式

    這篇文章主要介紹了fedora 開(kāi)啟 apache 并 開(kāi)啟目錄瀏覽模式的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • Linux man命令的具體使用

    Linux man命令的具體使用

    這篇文章主要介紹了Linux man命令的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Linux之iptables命令用法解讀

    Linux之iptables命令用法解讀

    文章概述了Linux下的netfilter框架與iptables工具,二者協(xié)同實(shí)現(xiàn)包過(guò)濾防火墻,詳解四表五鏈結(jié)構(gòu)、規(guī)則配置命令及常用場(chǎng)景,強(qiáng)調(diào)規(guī)則順序、匹配條件、方向性考慮和默認(rèn)策略設(shè)置(如白名單采用ACCEPT而非DROP)的重要性
    2025-09-09

最新評(píng)論

托克逊县| 唐山市| 兰溪市| 台中市| 江城| 赣榆县| 德兴市| 万盛区| 佛山市| 嘉鱼县| 福安市| 平和县| 泰州市| 库尔勒市| 陕西省| 闽清县| 叶城县| 岳阳县| 翁牛特旗| 沿河| 安陆市| 梅河口市| 东明县| 抚宁县| 桂林市| 外汇| 荣成市| 出国| 威海市| 广河县| 巨野县| 丽江市| 瑞安市| 云梦县| 永德县| 乐东| 萝北县| 修武县| 甘德县| 浦东新区| 凭祥市|