免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7915 | 回复: 19
打印 上一主题 下一主题

为什么硬盘统计不对呢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-30 09:49 |只看该作者 |倒序浏览
Size 916G
Used 299G
Avail 571G

明明是1T的硬盘,显示成916G也就算了

为什么 已使用的 跟 剩余的 加在一起不等于总共的

难道CPU运算有问题? 还不如计算器?

{4DE48C08-4E03-4B0D-BD90-1C899440F689}.JPG (19.52 KB, 下载次数: 57)

{4DE48C08-4E03-4B0D-BD90-1C899440F689}.JPG

论坛徽章:
0
2 [报告]
发表于 2007-10-30 09:52 |只看该作者
CPU 占用情况...

top.jpg (30.3 KB, 下载次数: 56)

top.jpg

论坛徽章:
0
3 [报告]
发表于 2007-11-06 17:01 |只看该作者
                          没人回

论坛徽章:
0
4 [报告]
发表于 2007-11-06 19:00 |只看该作者
文件总大小与占用磁盘空间数是不同的。
比如1字节大小的文件,占用了4K的硬盘空间.
可能Used是累加1字节而不是累加4K这个数。
如果要想彻底清楚,看看df源代码吧。

论坛徽章:
0
5 [报告]
发表于 2007-11-06 19:27 |只看该作者
如果换成 KB 算会否更准一些?

论坛徽章:
0
6 [报告]
发表于 2007-11-06 20:31 |只看该作者
原帖由 Mistruster 于 2007-10-30 09:49 发表
Size 916G
Used 299G
Avail 571G
明明是1T的硬盘,显示成916G也就算了
为什么 已使用的 跟 剩余的 加在一起不等于总共的
难道CPU运算有问题? 还不如计算器?


請參考之前文章:

http://linux.chinaunix.net/bbs/viewthread.php?tid=723873

--

论坛徽章:
0
7 [报告]
发表于 2007-11-06 20:58 |只看该作者
原帖由 kenduest 于 2007-11-6 20:31 发表


請參考之前文章:

http://linux.chinaunix.net/bbs/viewthread.php?tid=723873

--


文件系统方面的 :916 *0.95= 870 = 299 +571

不过分区大小和文件系统大小的差距怎么解释呢?


  1. [root@mail ~]# fdisk -l /dev/hdb

  2. Disk /dev/hdb: 80.0 GB, 80026361856 bytes
  3. 255 heads, 63 sectors/track, 9729 cylinders
  4. Units = cylinders of 16065 * 512 = 8225280 bytes

  5.    Device Boot      Start         End      Blocks   Id  System
  6. /dev/hdb1   *           1          13      104391   83  Linux
  7. /dev/hdb2              14        9729    78043770   8e  Linux LVM
  8. [root@mail ~]#
  9. [root@mail ~]#

  10. [root@mail ~]# df /boot
  11. Filesystem           1K-blocks      Used Available Use% Mounted on
  12. /dev/hdb1               101086     15045     80822  16% /boot
  13. [root@mail ~]#

复制代码


其中 /boot 分区的 104391 / 101086 等于 1.032 ,请问是否为基数不统一造成的?

论坛徽章:
0
8 [报告]
发表于 2007-11-06 21:51 |只看该作者
原帖由 ailms 于 2007-11-6 20:58 发表 文件系统方面的 :916 *0.95= 870 = 299 +571
不过分区大小和文件系统大小的差距怎么解释呢?


系統需要建立一定 inode table 與 data block 比率應對內容,所以當然不可能一樣大。

您可以自己使用 dd 建立 image file 後掛入測試即可知道


  1. dd if=/dev/zero of=1.dat bs=1024k count=100
  2. mke2fs -m 0 -i 1024 1.dat
  3. mount -o loop 1.dat /mnt/tmp/1
复制代码


  1. dd if=/dev/zero of=2.dat bs=1024k count=100
  2. mke2fs -m 0 -i 4096 1.dat
  3. mount -o loop 2.dat /mnt/tmp/2
复制代码


  1. dd if=/dev/zero of=3.dat bs=1024k count=100
  2. mke2fs -m 0 -i 30720 3.dat
  3. mount -o loop 3.dat /mnt/tmp/3
复制代码


  1. # df
  2. /root/tmp/1.dat        88M  1.6M   86M   2% /mnt/tmp/1
  3. /root/tmp/2.dat        97M  1.6M   96M   2% /mnt/tmp/2
  4. /root/tmp/3.dat       100M  1.6M   99M   2% /mnt/tmp/3
复制代码


--

[ 本帖最后由 kenduest 于 2007-11-6 21:57 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2007-11-06 22:18 |只看该作者
多谢 kendust 兄指点,俺明白了

顺便贴一个刚找到的好文章

http://fanqiang.chinaunix.net/a1/b5/20010612/100800481_b.html

论坛徽章:
0
10 [报告]
发表于 2007-11-06 22:42 |只看该作者
我来总结一下吧,欢迎大家指正

一、首先是分区的大小


  1. [root@mail fd]# fdisk -l /dev/hdb |grep '/dev/hdb1'
  2. /dev/hdb1   *           1          13      104391   83  Linux
  3. [root@mail fd]#
复制代码


所以 /dev/hdb1 的分区大小是 104391KB

二、其次是文件系统的大小

由于文件系统需要 inode 表,所以文件系统的大小会被分区大小要小一些。

至于这个值是多少则取决于 mke2fs 中的 -i 值 (bytes-per-inode)。

由于分区的大小是固定的,如果这个值越小,则表明需要建立的 inode 越多,

反过来如果该值越大,则表明需要建立的 inode 越少。

而每个 Inode 大小都是 128 字节,所以 inode 越多,Inode 表就越大,自然浪费的空间就越多。

要知道当前文件系统的 -i 值用下面的方法 :


  1. [root@mail fd]# tune2fs -l /dev/hdb1 |grep -i 'inode count'
  2. Inode count:              26104
  3. [root@mail fd]#

  4. [root@mail fd]# tune2fs -l /dev/hdb1 |grep -i 'inode size'
  5. Inode size:               128
  6. [root@mail fd]#
复制代码


则 -i 的值为 104391 * 1024 / 26104 = 4096 字节

所以文件系统的大小约为 : 104391 - ( 128 * 26104 / 1024) / 1024 = 98.75 MB ≈ 99MB


  1. [root@mail fd]# df -h /boot
  2. Filesystem            Size  Used Avail Use% Mounted on
  3. /dev/hdb1              99M   15M   79M  16% /boot
  4. [root@mail fd]#
复制代码


可以看到 /boot 显示为 99MB

三、下面是文件系统的大小以及可用空间大小的计算

从上面可以看出 15 + 79 = 94 MB ,少了 5MB ,这是由于文件系统需要保留 5% 的空间给 root 用

-m reserved-blocks-percentage

   Specify the percentage of the filesystem blocks reserved for the super-user.  This value defaults to 5%.


所以 99 * 5% ≈ 5MB ,所以可用空间为 94MB
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP