問題:昨天mysql 宕機了一次,重啟,然后繼續運行業務代碼的時候發現問題,mysql內存占用率上升較快,于是搜了搜,遇到一個:
http://blog.itpub.net/29510932/viewspace-2129312/
根據思路,查看了下,確實業務代碼存在沒有釋放db or cursor的問題。補上之后再看看有沒有問題吧。
第二個問題:kill進程之后,之前使用的是-9操作,導致業務進程無法感知被kill,一些mysql連接池的資源就無法釋放。
這里采用kill -2 pid,相當于對進程進行了ctrl + c,該操作對于nohup的進程也有效。
業務進程代碼try catch如下:
try:while(True):print("run")time.sleep(1)
except BaseException:print("killxxx")