liunx內(nèi)存滿了,docker中overlay2爆表解決方案
liunx內(nèi)存滿了,docker中overlay2爆表
最近做項(xiàng)目發(fā)現(xiàn)了一個(gè)問題,我在liunx運(yùn)行了nacos服務(wù),但是在上傳的時(shí)候發(fā)現(xiàn)了這個(gè)問題
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. /home/nacos/work/Tomcat/localhost/nacos/upload_6409cdc9_9dcc_4f8c_9029_a1672a38bf20_00000002.tmp (No space left on device)
說明了一個(gè)問題
Liunx內(nèi)存中不夠內(nèi)存再分配了。
于是趕緊到Liunx中查看
執(zhí)行以下命令:
df -h

看到root爆炸100%,以及overlay也是爆滿了
網(wǎng)上找了很多操作,甚至啟用了docker system pruna(刪除長時(shí)間未使用的容器 未掛在容器 關(guān)閉的容器等) 容器的刪除,操作,但是這個(gè)操作很危險(xiǎn),還是建議不這樣做
采取另外一種方案:清理內(nèi)存:刪除Log日志,一些不用的數(shù)據(jù)卷等
因?yàn)?,如果你的docker長時(shí)間運(yùn)行,它就會(huì)產(chǎn)生非常多的Log日志,這就需要清理
具體操作如下:
1、清理 /var/lib/docker/containers 目錄
先創(chuàng)建清理腳本文件,這里名為 docker_logs_clean.sh ,可以自定義,命令如下:
touch docker_logs_clean.sh # 賦予修改權(quán)限 chmod +777 docker_logs_clean.sh
加入如下腳本:
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean containers logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"執(zhí)行腳本:
sh docker_logs_clean.sh start
2、清理 /var/lib/docker/volumes 目錄
這個(gè)操作清理日志
find /var/lib/docker/volumes -name "*.log"
可以看到長時(shí)間運(yùn)行有非常多的日志沒有清理

執(zhí)行以下命令進(jìn)行清除
find /var/lib/docker/volumes -type f -name "*.log" -delete
通過上述兩種清理方式,再查看內(nèi)存如下:

整體的使用率都降下來了,包括root占用也下降了不少
非常實(shí)用?。。?/p>
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Prometheus 整合 AlertManager的教程詳解
Alertmanager 主要用于接收 Prometheus 發(fā)送的告警信息,它很容易做到告警信息的去重,降噪,分組,策略路由,是一款前衛(wèi)的告警通知系統(tǒng)。這篇文章主要介紹了Prometheus 整合 AlertManager的教程 ,需要的朋友可以參考下2019-07-07
使用Docker鏡像構(gòu)建Go應(yīng)用的實(shí)現(xiàn)方法
本文主要介紹了使用Docker鏡像構(gòu)建Go應(yīng)用的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
docker搭建php+nginx+swoole+mysql+redis環(huán)境的方法
這篇文章主要介紹了docker搭建php+nginx+swoole+mysql+redis環(huán)境的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
docker安裝nginx實(shí)現(xiàn)對(duì)springboot項(xiàng)目的負(fù)載均衡的操作方法
這篇文章主要介紹了docker安裝nginx實(shí)現(xiàn)對(duì)springboot項(xiàng)目的負(fù)載均衡的操作方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06
CentOS7如何修改Docker鏡像默認(rèn)存儲(chǔ)位置
這篇文章主要介紹了CentOS7如何修改Docker鏡像默認(rèn)存儲(chǔ)位置問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

