記一次python mem排錯

2021-10-01 20:55:32 字數 1168 閱讀 1864

docker run 乙個容器(多個測試樣例)。結果顯示 有個測試樣例被 killed 。

docker stats 檢視 ,發現記憶體接近90g;而我實際執行時 只有 1g的記憶體。所以被killed。

[[email protected] /root]

#docker stats --no-stream|head -n 1;while [[ true ]];do echo time sleep 1 >/dev/null 2>&1;docker stats --no-stream|grep aedfae9724a8;done

container cpu % mem usage / limit mem % net i/o block i/o pids

aedfae9724a8 119.02% 85.88 gib / 94.28 gib 91.08% 0 b / 0 b 12.29 kb / 33.52 mb 4

aedfae9724a8 126.96% 86.16 gib / 94.28 gib 91.39% 0 b / 0 b 12.29 kb / 33.52 mb 4

aedfae9724a8 72.66% 86.34 gib / 94.28 gib 91.58% 0 b / 0 b 12.29 kb / 33.52 mb 4

aedfae9724a8 54.95% 86.56 gib / 94.28 gib 91.81% 0 b / 0 b 12.29 kb / 33.52 mb 4

接著用

在用 memory_profiler, meliae等工具分析,

debug 一步步排查。

發現有個 dict ,

default_query_retry_count =1000000

for _c in range(default_query_retry_count):

而我的 python version 為 2.7 , 此時的range是展開乙個dict,而不是生成器,所以佔據了大量記憶體。 遂修改。用xrange.

sed -i 's/for _c in range(default_query_retry_count/for _c in xrange(default_query_retry_count/' logclient.py
修改之後。好了。 就這樣。

記一次DHCP排錯

如拓撲,某業務整個網路劃分在乙個vlan之下,入網的終端裝置要接收來自dhcp伺服器的ip指派,業務正常,客戶開心,一切都顯得祥和安靜 忽然有一天,使用者的乙個動作打破了一切。他把終端的網線無情的插入到了路由的lan口,如此,路由器本身的dhcp發揮作用,混進了這個vlan。自此,這個vlan下廣播...

記一次DHCP排錯

如拓撲,某業務整個網路劃分在乙個vlan之下,入網的終端裝置要接收來自dhcp伺服器的ip指派,業務正常,客戶開心,一切都顯得祥和安靜 忽然有一天,使用者的乙個動作打破了一切。他把終端的網線無情的插入到了路由的lan口,如此,路由器本身的dhcp發揮作用,混進了這個vlan。自此,這個vlan下廣播...

記一次tomcat部署排錯經歷(jar衝突)

18 feb 2022 08 32 46.836 severe localhost startstop 1 org.apache.catalina.core.standardcontext.startinternal context ospflowcenter startup failed due ...