我的 MySQL 服务器快用完了 HD 空间。我的大部分大表都使用 InnoDB 引擎(没有关键任务的原因)。为了避免可怕的“删除数据库以恢复 innodb 磁盘空间”响应,我想更好地了解这两个引擎如何在磁盘上存储数据。
# df -h /
Filesystem Size Used Avail Use% Mounted on
rootfs 9.9G 7.2G 2.2G 77% /
# du -hx --max-depth=0 /
3.2G /
Run Code Online (Sandbox Code Playgroud)
如您所见,df说使用了 7.2GB,但du只能找到 3.2GB。自从我注意到这一点以来,服务器已重新启动,因此它不是已删除的文件。此外,lsof没有向我展示任何有趣的东西。还能是什么?
长期读者,第一次提问:
我是一名初级 Linux 管理员,他越来越多地支持本地和 NFS 存储上的超大数据集/存储。数据通常以任意名称的海量文件夹和文件树的形式存在。举一个挑战的例子,我正在处理 20 多个 TB 分区,其中包含数十万个嵌套目录和数千万个文件。
由于这些分区/导出是共享资源,当它们开始耗尽空间或 inode 时,我通常必须扮演侦探,以确定哪些文件夹是最大的违规者。
我发现 'du -s' 太慢而且手动完成这项工作,并希望看到其他人使用什么技巧来确定最大或最多的文件计数目录在非常大的分区中。
我唯一关注的操作系统是 RHEL 5/6,因此标准 CLI Linux 工具的任何组合都可以。
谢谢!
我正在尝试确定目标电脑是否至少有 2 GB 的可用空间。这是我到目前为止所拥有的:
@echo off
for /f "usebackq delims== tokens=2" %%x in (`wmic logicaldisk where "DeviceID='C:'" get FreeSpace /format:value`) do set "FreeSpace=%%x"
IF /i %FreeSpace% GTR "2147483648" (ECHO C Drive Has Enough Available Disk For Install %FreeSpace%) else (ECHO C Drive Is FULL %FreeSpace%)
Run Code Online (Sandbox Code Playgroud)
我是否设置 2 GB 或将其更改为 200 GB 都没有关系,它总是说我有足够的空间,即使这个驱动器只有 90 GB...如果可以,请提供帮助。
这个问题是我上面代码的基础: Check free disk space using Batch commands
似乎它应该工作,但它没有。
windows hard-drive disk-space-utilization batch windows-command-prompt
我们运行 12 台 Dell Optiplex 755 台式计算机。它们都具有完全相同的硬件和软件,配置完全相同。因此,它们都是:
今天的一台计算机报告说它的磁盘空间不足——实际上它报告说它的 80GB 驱动器剩余不到 6GB。所有其他计算机的硬盘驱动器上都有 64 GB 的可用空间。
我检查了文件系统,发现文件系统中可能只有 6-7 GB,所以我运行了 WinDirStat,它报告说有一个 50 GB 的数据块标记为“未知”。
我做了我的研究并做了以下事情:
这台计算机与生产中的其他计算机之间的唯一区别是,这台计算机是最近部署的两台计算机之一(几个月前),以替换因无关原因而失败的两台计算机。另一台计算机没有出现任何症状。
我们无法弄清楚这个巨大的无法访问的硬盘空间块是什么,我们希望它回来。任何帮助将不胜感激。
我正在使用 git-annex,它是 DVCS git 的扩展,专为处理大文件而设计。它大量使用符号链接。实际的大文件被移动到.git/annex目录中,原始文件被符号链接到那里。
我的磁盘空间快用完了,需要清理一下,看看有什么东西在使用我的所有空间。通常我会使用磁盘使用工具,例如ncdu,Baobab 或 Filelight。然而,他们将符号链接视为本质上是空的,并且只将它指向的文件视为使用任何空间。这意味着当我使用 git-annex 时,它显示主目录中没有使用空间,而 .git/annex 目录中使用了大量空间。这没有帮助。
是否有任何基于(图形或 ncurses)的 linux 磁盘使用程序(apt-get installable 很容易,它能够(通过选项或不通过选项)将符号链接计算为用完原始文件用完的空间?许多人有选项对于硬链接的不同行为,所以有些人应该h
(我知道计算符号链接是因为使用空间有缺陷,比如计算空间空间两次、损坏的符号链接等。但这对我的目的来说没问题)
linux filesystems hard-drive disk-space-utilization symbolic-link
我正在使用 9.1 并且dpi在数据库中调用了一个表,其中 UTF-8 编码当前位于 18,628 行。那里有一TEXT列叫做fotoB64 字符串,代表一个唯一的图像文件。
我想弄清楚一行需要多少磁盘空间。有18050行与非NULL的价值foto,并length()为所有这些为87384。
我不明白的是这个。运行select * from pgstattuple('dpi');返回:
-[ RECORD 1 ]------+--------
table_len | 5890048
tuple_count | 18628
tuple_len | 5656063
tuple_percent | 96.03
dead_tuple_count | 0
dead_tuple_len | 0
dead_tuple_percent | 0
free_space | 92752
free_percent | 1.57
Run Code Online (Sandbox Code Playgroud)
跑步
select pg_size_pretty(pg_relation_size(c.oid)) AS "size"
from pg_class c
where relname = 'dpi';
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
size
---------
5752 kB
(1 row)
Run Code Online (Sandbox Code Playgroud)
这里到底发生了什么?为什么这张桌子这么小?
编辑:另外,我检查了/var/lib/postgresql/9.1/main …
MSI 缓存文件夹( C:\Windows\Installer)的大小大幅增加,现在占用了我(域)计算机上的太多磁盘空间。这个文件夹可以消除或缩小吗?
同样的问题适用于:
C:\WINDOWS\WinSxS( %SystemRoot%\WinSxS)C:\System32\DriverStore( %SystemRoot%\System32\DriverStore)installation windows-installer disk-space-utilization msi uninstall
过去几周,我在一个小型 unix 服务器(它没有所有标准 unix 命令,只有 BusyBox 包中包含的基本命令)中发生了这种情况,我正在配置该服务器来备份文件。
如果我们检查服务器的可用空间,它会显示:
Filesystem | Size | Used | Available | Use%| Mounted on
/dev/hdc2 | 678.4G | 416.6G | 261.8G | 61% | /tmp/mnt/D
/dev/sda1 | 96.1G | 36.0G | 55.2G | 40% | /tmp/mnt/USB/USB_C
Run Code Online (Sandbox Code Playgroud)
现在,我尝试将 700MB 文件复制到 USB_C 或将 90GB 文件复制到/tmp/mnt/D我可以看到有足够可用空间的位置,但是,我不断收到以下错误:
cp: Write Error: No space left on device
Run Code Online (Sandbox Code Playgroud)
知道问题是什么以及如何解决吗?
如前所述,这是一个小型 unix 服务器,只有最少的 unix 命令,因此其他帖子中提到的大多数命令不适用于此机器。因此,我可能需要知道我可以在这个特定系统中尝试什么的人的帮助来给我们一些线索......
几天前,我注意到我的 Ubuntu 服务器的磁盘几乎已满。我挖了一下,发现/var/ossec/queue/diff文件夹中的磁盘空间被OSSEC使用了。
我想立即尝试一些东西,所以我删除了这个文件夹的内容。一切正常,磁盘空间使用量恢复到“正常”量。
但是 OSSEC 队列文件夹再次增长。
是否有设置可以防止 OSSEC 队列使用所有磁盘空间?
hard-drive ×4
linux ×2
batch ×1
df ×1
filesystems ×1
innodb ×1
installation ×1
msi ×1
myisam ×1
mysql ×1
nfs ×1
ossec ×1
postgresql ×1
security ×1
ubuntu ×1
uninstall ×1
windows ×1
windows-xp ×1