Python 清除線上資料oom記憶體溢位事件
120g的雲伺服器記憶體消耗光了,導致python指令碼被意外killed,發現這臺機器有一個本地的mysql例項,有幾個刪除資料的python程序在跑,檢視記憶體使用情況
檢視後臺被kill記錄,確實有被kill的記錄,而且原因都是oom
[[email protected]] /data0/orcl$ dmesg -T |grep kill
[Wed Oct 25 14:07:21 2017] [<ffffffff81184cfe>] oom_kill_process+0x24e/0x3c0
[Wed Oct 25 14:07:21 2017] [<ffffffff8118479d>] ? oom_unkillable_task+0xcd /0x120
[Wed Oct 25 14:07:35 2017] python invoked oom-killer: gfp_mask=0x280da, order=0, oom_score_adj=0
[Wed Oct 25 14:07:35 2017] [<ffffffff81184cfe>] oom_kill_process+0x24e/0x3c0
[Wed Oct 25 14:07:35 2017] [<ffffffff8118479d>] ? oom_unkillable_task+0xcd/0x120
[Wed Oct 25 14:07:50 2017] python invoked oom-killer: gfp_mask=0x201da , order=0, oom_score_adj=0
[Wed Oct 25 14:07:50 2017] [<ffffffff81184cfe>] oom_kill_process+0x24e/0x3c0
[Wed Oct 25 14:07:50 2017] [<ffffffff8118479d>] ? oom_unkillable_task+0xcd/0x120
[Wed Oct 25 14:08:37 2017] mysqld invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
[Wed Oct 25 14:08:37 2017] [<ffffffff81184cfe>] oom_kill_process+0x24e /0x3c0
[Wed Oct 25 14:08:37 2017] [<ffffffff8118479d>] ? oom_unkillable_task+0xcd/0x120
檢視當前記憶體使用情況
[root@dbj3st] /data0/orcl$ ps auxw|head -1;ps auxw|sort -rn -k4|head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
laobanz+ 15558 69.5 45.8 56944632 56673636 ? S 14:03 0:34 python delete_pdd_api_cdb_ins_no.py 8 delete_8
laobanz+ 15522 12.1 4.9 6342140 6071200 ? S 14:03 0:05 python delete_pdd_api_cdb_ins_no.py 4 delete_4
mysql 14026 0.0 3.3 46736884 4088784 ? Sl Oct24 0:35 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data0/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/mysqld.log --pid-file=/data0/mysql/data/dbj3st.prod.yiran.com.pid --socket=/usr/local/mysql/mysql.sock --port=3306
laobanz+ 15530 6.5 0.7 1145680 874664 ? S 14:03 0:03 python delete_pdd_api_cdb_ins_no.py 5 delete_5
laobanz+ 15549 6.3 0.6 1114348 843284 ? R 14:03 0:03 python delete_pdd_api_cdb_ins_no.py 7 delete_7
laobanz+ 15540 6.4 0.3 691176 420224 ? S 14:03 0:03 python delete_pdd_api_cdb_ins_no.py 6 delete_6
zabbix 3168 0.0 0.0 84868 976 ? S Sep17 2:08 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
zabbix 3166 0.0 0.0 84984 1356 ? S Sep17 4:55 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 3165 0.0 0.0 84984 1008 ? S Sep17 4:53 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 3164 0.0 0.0 84984 1276 ? S Sep17 4:56 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
[root@dbj3st] /data0/orcl$
看到15558的程序,佔據了45.8的資源,這是在清除廢棄庫的廢棄表的資料,裡面有一個這樣的rang迴圈
for(i=0;i
相關推薦
Python 清除線上資料oom記憶體溢位事件
120g的雲伺服器記憶體消耗光了,導致python指令碼被意外killed,發現這臺機器有一個本地的mysql例項,有幾個刪除資料的python程序在跑,檢視記憶體使用情況 檢視後臺被kill記錄,確實有被kill的記錄,而且原因都是oom [[email&
Mysql遍歷大表(Mysql大量資料讀取記憶體溢位的解決方法)
mysql jdbc預設把select的所有結果全部取回,放到記憶體中,如果是要遍歷很大的表,則可能把記憶體撐爆。 一種辦法是:用limit,offset,但這樣你會發現取資料的越來越慢,原因是設定了offset,mysql需要將讀取位置移動到offset的位置,隨著offset增大,取資料也越來越慢
JVM學習--各資料區記憶體溢位異常測試
JVM學習–總索引 文章目錄 JVM學習--各資料區記憶體溢位異常測試 基本引數介紹 堆記憶體異常測試 OutOfMemoryError 棧記憶體異常 StackOverflowError 棧記憶體異常測試 OutOfMe
java 匯出 excel 最佳實踐,java 大檔案 excel 避免OOM(記憶體溢位) exce
產品需求 產品經理需要匯出一個頁面的所有的資訊到 EXCEL 檔案。 需求分析 對於 excel 匯出,是一個很常見的需求。 最常見的解決方案就是使用 poi 直接同步匯出一個 excel 檔案。 客戶體驗 & 服務效能 客戶體驗 如果匯出的檔案比較大,比如幾十萬條資料,同步匯
java 匯出 excel 最佳實踐,java 大檔案 excel 避免OOM(記憶體溢位) excel 工具框架
產品需求 產品經理需要匯出一個頁面的所有的資訊到 EXCEL 檔案。 需求分析 對於 excel 匯出,是一個很常見的需求。 最常見的解決方案就是使用 poi 直接同步匯出一個 excel 檔案。 客戶體驗 & 服務效能 客戶體驗 如果匯出的檔案比較大,比如幾十萬條資料,同步匯
Java多執行緒程式設計-(11)-面試常客ThreadLocal出現OOM記憶體溢位的場景和原理分析
一、案例程式碼 1、首先看一下程式碼,模擬了一個執行緒數為500的執行緒池,所有執行緒共享一個ThreadLocal變數,每一個執行緒執行的時候插入一個大的List集合: 2、設定JVM引數設定最大記憶體為256M,以便模擬出OOM: 3、執行程式碼,輸出結果: 可以看出,單執行緒池
Java多執行緒程式設計-(9)-ThreadLocal造成OOM記憶體溢位案例演示與原理分析
原文出自 : https://blog.csdn.net/xlgen157387/article/details/78298840 案例程式碼 1、首先看一下程式碼,模擬了一個執行緒數為500的執行緒池,所有執行緒共享一個ThreadLocal變數,每一個執行緒執
mysql 匯入資料時記憶體溢位問題
用mysqldump匯出一個數據庫,其中有兩個表資料有20多W,執行匯入的時候老是保記憶體溢位,試驗了多種方法,始終不行,後來看mysql的伺服器的配置,發現裡面沒有啥設定,於是在裡面增加一個max_allowed_packet=32M配置,然後重新匯入時候沒有保錯,資料完全
python清除函式佔用的記憶體
python升級到2.7.13 函式執行的結尾加上這個即可 for x in locals().keys(): del locals()[x] gc.collect() 原理是,locals()會列出當前所有區域性變數,手動的把當前函式生成的開銷都
jdbc在操作oracle海量資料的時候用ResultSet獲取所有的返回資料出現記憶體溢位(轉)
來自網路,我在做生成excel的時候也遇到這個吐血問題。 jdbc在操作oracle海量資料的時候用ResultSet獲取所有的返回資料出現記憶體溢位 處理: 出錯的原因是ResultSet用的是可滾動結果集,正常情況下ResultSet是指標指向資料庫的資料,本身是不儲
通過介面獲取大量資料,記憶體溢位的問題
今天一個網友問了我一個問題: 需要給這個介面中寫義工xml串(4w條),人家介面返回0或者1 問題是:5千條正常傳送,1w條就報記憶體溢位 . 報java.lang.OutOfMemoryError: Java heap space 錯誤. 建議解決方法: 1.設Out
OOM(記憶體溢位)
Out of Memory Spark中的OOM問題不外乎以下兩種情況 map執行中記憶體溢位 shuffle後記憶體溢位 map執行中記憶體溢位代表了所有map型別的操作,包括:flatMap,filter,mapPatitions等。shuffle後記憶體溢位的sh
安卓載入圖片過大而導致OOM記憶體溢位的解決方法(巨坑....)
如果圖片太大會造成OOM記憶體溢位的錯誤,需要用Bitmap的壓縮機制。 如果跳轉的頁面含有圖片可能會導致跳轉失敗。 比如說我這裡是一旦觸發了某個按鍵,就修改該xml的圖片和文字說明 則setImageResource應該改成這樣imageview.setImageBitm
android--使用Canvas,Bitmap出現OOM-記憶體溢位
public class MyView { private Canvas mCanvas; private Bitmap mBitmap; private static Bitmap mFreeBitmap; static { mFree
Android下的,OOM記憶體溢位解決方法\AsyncTask
在Android平臺上面,應用程式OOM異常永遠都是值得關注的問題。通常這一塊也是程式這中的重點之一。這下我就如何解決OOM作一點簡單的介紹。 首先,OOM就是記憶體溢位,即Out Of Memory。也就是說記憶體佔有量超過了VM所分配的最大。 怎麼解決
分享一次解決線上java應用導致JVM記憶體溢位(OOM)的問題
某個線上的應用執行幾天後,總是出現卡死甚至出現OOM的情況。 注:文中圖片可能與描述不符,僅作為演示! 通過Linux的top命令檢視cpu佔比 首先通過top命令檢視,發現某個java程式佔用了較高記憶體: JDK的jps命令確定是哪個j
python讀取mysql怎麼不會記憶體溢位
使用過java讀取mysql大資料量的人應該都知道,如果查詢時不開遊標不設定一次性區大小的話,會一次性的把所有記錄都拉取過來再進行後續操作,資料量一大就很容易出現OOM 如果用python去讀取mysql也會遇到同樣的問題 那麼這麼在python中來設定使用遊標呢 也很簡單 這裡
記憶體溢位(OOM)
什麼是OOM? OOM是out of memory的簡稱,也稱記憶體溢位。 什麼樣的場景下會出現OOM? 1、在對圖片進行記憶體快取處理的時候就
JAVA虛擬機器(JVM)劃重點 第二章 Java記憶體區域與記憶體溢位異常 之 執行時資料區域
本部落格參考《深入理解Java虛擬機器》(第二版)一書,提取重點知識,再加以個人的理解編寫而成。轉載請標明來源。 JVM劃重點 第二章 Java記憶體區域與記憶體溢位異常 之 執行時資料區域 概述 執行時資料區域 程式計數器 Java虛擬機
Python中的資料型別轉換舉例及指令碼統計伺服器記憶體例項
統計系統剩餘的記憶體 In [1]: s1 = 'abc' In [2]: help(s1.startswith) Hel