我尝试 chmod 一些文件,但出现错误“超出磁盘配额”:

确实,我在使用 chmod 的文件系统中没有多少剩余空间,即nfs.mit.edu:/export/evodesign/beatdb(这是一个NFS),无论是字节还是 inode:

但是为什么 chmod 需要更多空间呢?
我使用 Ubuntu 12.04。
编辑:评论后的更多信息:
1)我不知道NFS服务器的操作系统(nmap -O nfs-server-ip没有返回任何东西)
2) 挂载的 NFS 文件系统使用的 NFS 协议是NFSv3:

3)quota -v:

4)我没有任何/var/log/messages日志,我确实有一些/var/log/syslog日志,但那里看起来没有什么奇怪的。
通常,配额是按用户强制执行的,因为与文件的所有权有关。
是否可以在文件夹的基础上应用配额,以限制文件夹内容的磁盘空间?
我经常尝试通过查找它们代表什么来记住命令选项。
这一次,我无法找到任何来源:为什么quota -s一个--human-readable替代方案,这是什么s立场?
我在没有 root 访问权限的系统上超出了我的磁盘配额。我尝试删除旧文件,但仍然结束。我试着跑去du找我用完所有空间的地方,但它报告我使用的空间很少。
结果来自 quota
/home/1234$ quota -s
Disk quotas for user 1234 (uid 1234):
Filesystem space quota limit grace files quota limit grace
cslab:/home 4519M* 4096M 5120M 09:47 6155 0 0
Run Code Online (Sandbox Code Playgroud)
从 du
/home/1234$ du -mad 1
...
936 total
Run Code Online (Sandbox Code Playgroud)
我不明白为什么quota说我使用 4.5GB 而du只计算 .9GB。我还检查了我拥有的文件/tmp,那里有 50MB 的文件。其他 3.5GB 的文件在哪里?是否有可能是配额系统错误并需要重置?
我安装/tmp上tmpfs使用:
sudo systemctl enable tmp.mount
sudo systemctl start tmp.mount
Run Code Online (Sandbox Code Playgroud)
但是这种方式/tmp占用了所有可用的RAM:
$ df -h /tmp
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.9G 12K 3.9G 1% /tmp
$
Run Code Online (Sandbox Code Playgroud)
我如何告诉 systemd tmp.mount 只使用 1G?我知道我也可以不使用 systemd 并手动添加一个条目/etc/fstab并在那里指定大小。但我不想那样做。我想使用 systemd 支持的 tmpfs。
我得到了fsync() failed: Disk quota exceeded,但是当我使用df -h并且df -i有足够的空间时?有什么建议?
似乎可以在网络安装上设置用户可以消耗多少空间的配额。
# edquota ramesh
Disk quotas for user ramesh (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 1419352 0 0 1686 0 0
Run Code Online (Sandbox Code Playgroud)
您还可以对用户拥有的 inode 数量设置软限制和硬限制。
为什么您需要限制用户可以访问的 inode 数量?
用户是否仍然能够用 1 个非常大的文件填满磁盘?
我有一台带有 2.4GHz 处理器的服务器。并且有多个 cgroup,每个允许使用 25% 的 CPU。这等于 600MHz。
然后我用更快的 CPU 替换了 CPU,比如说 3.0GHz。如果我使用cpu.shares,我的容器将继续获得 3.0GHz 的 25%,现在等于 750MHz。
这意味着在更换 CPU 后,我必须重新配置我的 cgroup,使它们消耗不超过 20% 的 CPU。
有没有办法在CPU升级过程中避免这种麻烦?
在 bash(以及通过 ssh)运行时rm FILENAME出现错误:rm: cannot remove 'FILENAME': Disk quota exceeded。我看过关于这个主题的其他帖子(以及谷歌第一页的所有帖子)并尝试过:
echo "" > FILENAME
cp /dev/null FILENAME
cat /dev/null >FILENAME
Run Code Online (Sandbox Code Playgroud)
并且都给出相同的错误。这种情况以前发生在我身上一次,上面的其中一件事修复了它,但无论出于何种原因,这次不起作用。是否有某种更强大的方法可以删除或写入 0 字节到文件?
我无权sudo访问该系统。这是在unix系统上的。
我对 Linux 服务器(共享 PHP+MySQL 托管)具有非特权访问权限,并且有磁盘空间、内存、CPU 使用率、I/O 配额。
我想知道如何从 SSH shell 获取有关最大/当前配额使用情况的信息?