【个人问题,已解决,求删】服务器空间占用远大于文件实际大小


#1

我使用的是企业版Seafile服务,目前被分配到的使用空间为100G。目前我放在同步路径下的全部文件72.1 GB,但是服务器端显示我已经使用的存储空间为148.7 GB。因未知原因的用户存储空间已用完,我已经不能进行新的数据同步与备份。不知道出现这种情况是什么原因,可以怎么释放云端多占用的空间呢?

本地文件与云端文件大小对比:


#2

因为 SEAFILE 是把文件 打碎存储 所以会产生好多 最低单位的占用空间
而且 这个 带回溯 功能 所以占用…

引用 实际上字节并不是保存文件的最小单元。操作系统将硬盘划分为若干个簇,然后以簇作为最小单位保存文件。每个簇的大小因为操作系统和分区大小而不同。例如Win9x/FAT16分区,如果分区小于512M,每个簇为8K;大于512M,每个簇为16K。如果一个文件为1K,那么在小于512M的分区,它占用8K;在大于512M的分区,它占用16K。大于一个文件,文件大小和占用空间之间的差距很小。但对于一个目录中的多个文件,这种差别可能非常大。所以你要是计算占用空间,先调GetDiskFreeSpace获得磁盘的簇的大小。 然后利用文件大小除以簇的大小并将小数进位得到占用的簇数,然后再乘以簇的大小就可以获得获得文件占用的空间.
大小和占用空间不一样是很正常的,硬盘分区的最小是以4k为计算单位的。就是说好像一个一个格子一样,这些格子比较大。即使是一个文件写了一个字,它的大小不足1k,但是显示占用空间为4k。所以特别是一些小文件很多的东西。大小加起来不大,可是占用空间往往比较悬殊。