0
我已經完成了以下測試,發現我無法使用psutil
來檢索有意義的數據。如何正確報告Docker容器中的可用RAM?
基本上我試圖運行這個命令來使用python來報告容器內的可用內存。
我已經運行有不同的內存參數每次測試三次:
下面是測試:
docker run -m 10000000 -ti python:2.7 bash
docker run -m 100000000 -ti python:2.7 bash
docker run -m 800000000 -ti python:2.7 bash
,這裏是結果
> docker run -m 10000000 -ti python:2.7 bash
[email protected]:/# pip install psutil && python -c "import psutil; print psutil.virtual_memory().available"
Killed
> docker run -m 100000000 -ti python:2.7 bash
[email protected]:/# pip install psutil && python -c "import psutil; print psutil.virtual_memory().available"
Collecting psutil
Downloading psutil-5.3.1.tar.gz (397kB)
100% |████████████████████████████████| 399kB 2.8MB/s
Building wheels for collected packages: psutil
Running setup.py bdist_wheel for psutil ... done
Stored in directory: /root/.cache/pip/wheels/bc/00/68/b4cbf1017e55880ef2afd1a248a1c88311f38a574c8929d687
Successfully built psutil
Installing collected packages: psutil
Successfully installed psutil-5.3.1
1741164544
> docker run -m 800000000 -ti python:2.7 bash
[email protected]:/# pip install psutil && python -c "import psutil; print psutil.virtual_memory().available"
Collecting psutil
Downloading psutil-5.3.1.tar.gz (397kB)
100% |████████████████████████████████| 399kB 2.8MB/s
Building wheels for collected packages: psutil
Running setup.py bdist_wheel for psutil ... done
Stored in directory: /root/.cache/pip/wheels/bc/00/68/b4cbf1017e55880ef2afd1a248a1c88311f38a574c8929d687
Successfully built psutil
Installing collected packages: psutil
Successfully installed psutil-5.3.1
1739603968
在第一測試,工作馬上被殺死。由於RAM分配較低,因此這是預期的。
但在第二和第三測試中,即使-m
參數是8倍的差異,Python代碼返回或多或少相同的結果:1741164544和1739603968(即1741164544和1739603968)
爲什麼它是這種情況?
我的主機PC是一個mac,它有16G RAM。
感謝您的回答。你知道任何可以提取此信息的Python庫嗎? –