在unix中查找目录的大小

时间:2012-10-25 04:48:55

标签: linux unix

问题陈述: -

我得到以下异常 -

org.apache.hadoop.hdfs.protocol.DSQuotaExceededException:
org.apache.hadoop.hdfs.protocol.DSQuotaExceededException: The DiskSpace 
quota of /tmp is exceeded: quota=659706976665600 diskspace consumed=614400.1g

所以我只是想知道目前/ tmp目录的大小是多少,因此我得到了这个例外。如何查看/ tmp中的可用空间?

更新: -

bash-3.00$ df -h /tmp
Filesystem             size   used  avail capacity  Mounted on
rpool/tmp               10G   2.2G   7.8G    22%    /tmp

我现在很困惑为什么我会得到那个例外,因为它清楚地说明我有空位。

3 个答案:

答案 0 :(得分:10)

你可以(对于SunOS)

# du -sh /tmp

要查看它现在使用了多少,但你已经看过了。

要查看/tmp所在的分区上可以使用的总空间,空闲空间和已用空间的数量,请执行以下操作:

# df -h /tmp

请注意,填充空间并不是唯一可以阻止写入文件系统的东西。

耗尽inode是另一个流行的原因。

您可以使用

进行检查
# df -i /tmp

答案 1 :(得分:1)

for ls; do du -ch $ {a} |总计; echo $ {a};完成

尝试这个但是如果dir的大小是GBs

则需要时间

答案 2 :(得分:0)

管理HDFS空间配额 重要的是要了解,在HDFS中,必须有足够的配额空间来容纳整个块。如果用户分配的配额有200MB的可用空间,则无论文件大小如何,如果HDFS块大小恰好为256MB,则他们都无法创建新文件。您可以通过执行setSpace-Quota命令来为用户设置HDFS空间配额。语法如下:

$ hdfs dfsadmin –setSpaceQuota <N> <dirname>...<dirname>

您设置的空间配额是目录中所有文件总大小的上限。您可以设置字节数(b),兆字节(m),千兆字节(g),TB(t)甚至PB的空间配额(通过指定p-是的,这是大数据!)。这是一个示例,展示了如何将用户的空间配额设置为60GB:

$ hdfs dfsadmin -setSpaceQuota 60G /user/alapati

您可以一次在多个目录上设置配额,如下所示:

$ hdfs dfsadmin -setSpaceQuota 10g /user/alapati /test/alapati