[英]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.