繁体   English   中英

在unix中查找目录的大小

[英]Find the size of directory in 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

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

你可以做(​​对于SunOS)

# du -sh /tmp

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

要查看/tmp所在的分区上有多少总空间,空闲空间和已用空间,您可以使用:

# df -h /tmp

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

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

你可以检查一下

# df -i /tmp

为了一个ls ; do du -ch $ {a} | 总计; echo $ {a}; DONE

尝试这个但是如果dir的大小是GB,则需要时间

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

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

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

$ hdfs dfsadmin -setSpaceQuota 60G /user/alapati

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM