我正在Ubuntu上開發一個Python應用程序,我正在Python中使用子進程運行外部二進制文件。由於這些二進制文件是在運行時生成的並且可能變得流氓,所以我需要對這些二進制文件的內存佔用量和運行時間保持嚴格的選項卡。有沒有辦法在運行時限制或監視這些二進制程序的內存使用情況?我真的很討厭在子過程中使用類似「ps」的東西來達到這個目的。檢查Python中子進程的內存使用情況
8
A
回答
4
有一個你的子進程的PID號碼,你可以閱讀從proc file-system所有信息。使用:
的/ proc/[PID]/smaps(因爲Linux 2.6.14) 此文件顯示內存消耗用於每個進程的映射。 對於每個映射的有線的串聯 如下:
或
的/ proc/[PID]/statm 提供有關內存使用情況,在頁測得的信息。
另外,您可以限制哪些子可以AQUIRE資源:
subprocess.Popen('ulimit -v 1024; ls', shell=True)
當達到給定虛擬內存限制進程失敗,內存不足。
10
相關問題
- 1. python中的子進程內存使用情況
- 2. 檢查內存使用情況
- 3. 如何獲取node.js中的子進程內存使用情況?
- 4. 使用'top'查看進程的內存使用情況
- 5. 當從管道子進程中讀取行時的內存使用情況python
- 6. Python - 在窗口中獲取進程名稱,CPU,內存使用情況和峯值內存使用情況
- 7. python中的內存使用情況
- 8. 監視子進程的內存使用情況
- 9. Java中線程或進程的內存使用情況
- 10. 的Python多的內存使用情況
- 11. 編程檢查內存使用情況(可可)
- 12. python模塊的內存使用情況
- 13. 檢查haskell中的內存使用情況
- 14. 如何檢查Elixir中的內存使用情況?
- 15. Python中multiprocessing.pool啓動的進程的峯值內存使用情況
- 16. 在Cocoa/Objectice-C中測量進程的內存使用情況?
- 17. 如何跟蹤linux中進程的cpu /內存使用情況?
- 18. 使用本機進程的Java內存使用情況
- 19. Python字典內存使用情況
- 20. 檢查MySQL CPU使用情況(內部)
- 21. 如何在Java中檢查CPU和內存使用情況?
- 22. 如何查找Haskell中程序的內存使用情況
- 23. 使用進程ID獲取進程的實際內存使用情況
- 24. 查找內存使用情況
- 25. 檢查ASP.NET網站的內存使用情況
- 26. 檢查android的內存使用情況anp cpu和應用程序的功耗
- 27. Bash腳本檢查特定進程的CPU使用情況
- 28. 預測進程的內存使用情況
- 29. 如何優化php進程的內存使用情況?
- 30. 監控進程的CPU和內存使用情況
我需要在Python中實現它。所以我需要fork一個子進程,同時運行一個while循環來監視/ proc /(pid)/ smaps文件。是不是有其他方式,例如:我可以爲子進程分配固定內存?我希望以某種方式使用python的內存管理器。 – Neo 2010-09-30 13:15:31
當時,從來沒有想到這一點。是的,這對我來說應該很好。 – Neo 2010-09-30 13:57:41
ulimit已過時。摘自手冊頁:「警告:此例程已過時,請改爲使用getrlimit(2),setrlimit(2)和sysconf(3)。」感謝哈比, – omikron 2016-10-07 11:25:21