【发布时间】:2019-11-12 05:35:28
【问题描述】:
我正在编写一个简单的监控脚本,我想在其中添加磁盘空间检查。然而,我发现系统df 和shutils.disk_usage() 之间报告的可用空间不同。
在安装了三个磁盘的系统上:
# df / /mnt/2TB1 /mnt/1TB1
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 472437724 231418380 216997128 52% /
/dev/sdb1 1921802520 1712163440 111947020 94% /mnt/2TB1
/dev/sdc1 960380648 347087300 564438888 39% /mnt/1TB1
# python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import shutil
>>> (t, u, f) = shutil.disk_usage('/')
>>> (t, u, f)
(483776229376, 236973805568, 222203674624)
>>> u/t
0.48984177224594366
>>> (t, u, f) = shutil.disk_usage('/mnt/2TB1')
>>> (t, u, f)
(1967925780480, 1753255362560, 114633748480)
>>> u/t
0.8909153891628782
>>> (t, u, f) = shutil.disk_usage('/mnt/1TB1')
>>> (t, u, f)
(983429783552, 355400192000, 578002624512)
>>> u/t
0.361388477290517
相差分别为3%、5%和3%。它来自哪里,哪个结果是正确的?
【问题讨论】:
-
你能把
u和t的值贴出来吗?目前我们不知道这些值中的哪一个与df的值不同。 -
@Socowi:你说得对——我用信息更新了问题
标签: python python-3.x filesystems disk diskspace