国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

利用Python如何實時檢測自身內存占用

瀏覽:4日期:2022-07-26 10:09:03

前言

最近在做文本統計,用 Python 實現,遇到了一個比較有意思的難題——如何保存統計結果。

直接寫入內存實在是放不下,十幾個小時后內存耗盡,程序被迫關閉。如果直接寫入數據庫吧,每次寫入又太慢了,本來就十幾個小時了,這樣下去就要往星期上數了,也不是個辦法。

解決方案

最后,我想到了一個兩者兼顧的方案——用內存做緩沖,達到一定量之后一次性將當前所有數據合并到硬盤里。

但這樣就有一個閾值,如何確定同步硬盤的時機,通常可以按照文件粒度進行處理,比如處理一個語料文件同步一次……但我的語料有大有小,大的有10GB,根本等不到那一刻內存就爆炸了,后來我想用統計數據量進行判斷……可這又有點難以估計,小了吧頻繁寫入,緩存的意義就不大了,大了吧還沒等到條目數量達到,內存就已經爆滿。另外考慮到將來程序會運行在不同配置的設備上,讓其他開發者根據自身情況計算這個閾值也有點太不友好,于是我想到了一個辦法——不如讓 Python 自己檢測自己的內存占用,如果快滿了(或者達到閾值),就同步寫入硬盤一次。

對于其他開發者來說,自身設備的內存多大是很容易查看的,根據系統運行狀況設置一個合理的閾值,相當方便。

要用 Python 監控自身內存占用,要使用 psutil 這個庫來和系統進行交互,基本邏輯就是先拿到自己的 pid ,然后根據這個 pid 去跟系統獲取進程信息。

def get_current_memory_gb() -> int:# 獲取當前進程內存占用。pid = os.getpid()p = psutil.Process(pid)info = p.memory_full_info()return info.uss / 1024. / 1024. / 1024.

比如我系統是 32GB 內存,那么我設置個 20GB 就相當安全,用 Python 進行統計語料,數據多到進程占用 20GB 內存了,就把當前的數據寫入硬盤,同步統計數據,然后清空程序里的字典緩存釋放內存。

python之psutil

psutil是個跨平臺庫,能夠輕松實現獲取系統運行的進程和系統利用率,包括CPU、內存、磁盤、網絡等信息。

Linux系統下的安裝

pip install psutil

總結

到此這篇關于利用Python如何實時檢測自身內存占用的文章就介紹到這了,更多相關Python實時檢測自身內存占用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 久久成人免费播放网站 | www.亚洲免费 | 一级一级特黄女人精品毛片 | 91精品一区国产高清在线 | 国产亚洲人成a在线v网站 | 久久视频在线观看免费 | 国产美女无遮挡软件 | 亚洲黄色官网 | 久久大胆视频 | 亚洲成人精品久久 | 国产精品国产 | 亚洲一级毛片免费在线观看 | 国产三级精品最新在线 | 美女一级毛片免费观看 | 国产精品九九免费视频 | 免费一看一级毛片全播放 | 日韩中文字幕在线观看视频 | 亚洲美女免费视频 | 美国一级免费 | a级一级毛片 | 日本不卡一区二区三区在线观看 | 美女黄网站色一级毛片 | 亚洲一区二区在线成人 | a级国产乱理伦片在线观看99 | 日韩欧美一级毛片精品6 | 99j久久精品久久久久久 | 国产欧美精品午夜在线播放 | 久久99精品久久久久久综合 | 免费视频网站一级人爱视频 | 亚洲日本久久一区二区va | 欧美日韩一区在线观看 | 天天操夜夜噜 | 爱视频福利广场 | 欧美做爰孕妇群 | 国产精品一一在线观看 | 国产天堂 | 国产在线观看91精品一区 | 欧美成人h精品网站 | 国产久草在线 | 一级毛片不卡片免费观看 | 国产一级黄色 |