為什麼硬碟讀取小文件比較小
Ⅰ 有人能解釋一下電腦里的硬碟文件的大小和佔用空間為什麼不一樣嗎
在Windows系統中,一個文件的大小(位元組數)和它在硬碟上(或其他存儲介質上)所佔的空間是兩個既相互聯系又有區別的概念。在不同的情況下,同一個文件的「所佔空間」會發生變化。 文件的大小其實就是文件內容實際具有的位元組數,它以Byte為衡量單位,只要文件內容和格式不發生變化,文件大小就不會發生變化。但文件在磁碟上的所佔空間卻不是以Byte為衡量單位的,它最小的計量單位是「簇(Cluster)」。 文件系統是操作系統與驅動器之間的介面,當操作系統請求從硬碟里讀取一個文件時,會請求相應的文件系統(FAT 16/32/NTFS)打開文件。扇區是磁碟最小的物理存儲單元,但由於操作系統無法對數目眾多的扇區進行定址,所以操作系統就將相鄰的扇區組合在一起,形成一個簇,然後再對簇進行管理。每個簇可以包括2、4、8、16、32或64個扇區。顯然,簇是操作系統所使用的邏輯概念,而非磁碟的物理特性。 為了更好地管理磁碟空間和更高效地從硬碟讀取數據,操作系統規定一個簇中只能放置一個文件的內容,因此文件所佔用的空間,只能是簇的整數倍;而如果文件實際大小小於一簇,它也要佔一簇的空間。所以,一般情況下文件所佔空間要略大於文件的實際大小,只有在少數情況下,即文件的實際大小恰好是簇的整數倍時,文件的實際大小才會與所佔空間完全一致。 實際上位元組並不是保存文件的最小單元。操作系統將硬碟劃分為若干個簇,然後以簇作為最小單位保存文件。每個簇的大小因為操作系統和分區大小而不同。例如Win9x/FAT16分區,如果分區小於512M,每個簇為8K;大於512M,每個簇為16K。如果一個文件為1K,那麼在小於512M的分區,它佔用8K;在大於512M的分區,它佔用16K。大於一個文件,文件大小和佔用空間之間的差距很小。但對於一個目錄中的多個文件,這種差別可能非常大。所以你要是計算佔用空間,先調GetDiskFreeSpace獲得磁碟的簇的大小。 然後利用文件大小除以簇的大小並將小數進位得到佔用的簇數,然後再乘以簇的大小就可以獲得獲得文件佔用的空間. 大小和佔用空間不一樣是很正常的,硬碟分區的最小是以4k為計算單位的。就是說好像一個一個格子一樣,這些格子比較大。即使是一個文件寫了一個字,它的大小不足1k,但是顯示佔用空間為4k。所以特別是一些小文件很多的東西。大小加起來不大,可是佔用空間往往比較懸殊。
Ⅱ 為什麼硬碟的讀取速度相差很大有時候0.5M/s,有時候55M/s
硬碟讀寫出現0.5M/s到55M/s這么大差別的原因是在讀寫的文件大小上。
硬碟在讀寫單個的大文件(例如2G)時會顯得很快,而在讀寫一批小文件(例如200個10M的文件)是就會顯得較慢,而要復制一批只有幾k或幾十k的小文件時會顯得很慢。這是因為硬碟在碟片上寫入一批小文件時所選的物理位置可以說是隨機的,就是哪兒空閑大就往哪兒寫,而不是按照文件順序,這是設計如此,因此一批小文件可能散落在碟片上不同的物理位置。而讀寫一批小文件所耗的時間都浪費在磁頭的不停定位上了,其實實際的讀寫還是很快的,但讀寫所耗時間與定位所耗時間相比顯得微不足道了,而Windows顯示的讀寫速度是從外觀上來看的。
Ⅲ 為什麼文件的實際大小比佔用空間要小一些
查看你硬碟上的一個任意非空目錄或者非空文件的屬性,看到大小有2個數值:一個叫大小,也就是文件的大小;另外一個叫佔用空間,就是佔用的硬碟空間。
佔用空間肯定大於等於文件大小,因為硬碟的最小單位是簇,任何文件再小也不會小於一簇,默認磁碟一簇一般是4kb(格式化的時候可以選擇)。
舉個簡單的例子:你本地新建一個文本文件,然後裡面輸入一個字元,查看大小的時候你會發現,文件大小隻有1位元組,而佔用空間卻有4kb。就是說1位元組的文件也會佔用一個簇,就是4kb了。
我們系統統計的是您實際的佔用硬碟空間,按照上面的原理,如果用戶目錄內的文件很小而文件很多,那麼佔用空間會比文件大小多出很多,因為每個文件都可能不是4kb的整數倍。如果只有一個文件,那麼差距最多也不超過4kb,但是當您的文件很小而很多的話,佔用空間會比文件大小多10%甚至更高。
假設都是1位元組的文件,差距就非常大了,比如1024個1位元組的文件,大小隻有1kb,而佔用空間卻有1024*4kb=4mb。
Ⅳ 硬碟隨機小文件的讀取速度為什麼這么低,通常什麼情況下會用到這個速度有什麼硬碟的隨機小文件的讀取
機械磁碟的磁碟iops比較小,
讀和寫都有響應時間+尋道時間+取數據時間
文件小,存儲分散,尋道時間長, 這個是磁碟電機移動速度和磁碟轉速決定的。不容改變。
Ⅳ 為什麼小文件的讀寫速度比大文件慢看到有人說主要因為硬碟尋道佔用多數時間,那麼我的tf卡為什麼也會
內存卡一樣有類似於尋道的操作啊。與硬碟類似,內存卡上的文件也是有系統控制散步於卡上的,大量小文件同樣需要進行大量的定址工作,所以速度就慢了。
而大文件一般都是順序存放的,讀取速度就快了。
Ⅵ 為什麼硬碟顯示小 而裡面的文件夾小
不光顯示隱藏文件在文件夾設置中再取消隱藏系統文件那個看看
Ⅶ 機械硬碟佔用100%,但是讀寫很低才幾KB
1: 是否WIN8.1 如是 建議更換系統 (不換要關閉數個進程~優化驅動器優化計劃什麼的)
2:檢查硬碟AHCI驅動是否安裝:硬碟4K對齊,能減少磁碟佔用100%情況。(大部分用戶能解決)
3:通過 HD Tune Pro 5 專業的硬碟測試工具 檢測硬碟健康度,是否有故障。
4:設置虛擬內存,把虛擬內存設置到其它的盤。如果內存超過8G的用戶,可以適當設置較小的值(不建議關閉虛擬內存,會導致大型游戲或者軟體出錯)。
5:打開 Windows 資源管理器 – 點擊「查看」 – 再點「選項」調出文件夾選項 – 在文件夾選項中切換至「查看」選項卡,勾選「在單獨的進程中打開文件夾窗口」。
6:打開資源監視器(win+R→perfmon.exe /res),查看讀寫硬碟的具體文件。
7:關閉家庭組功能:WIN+R運行Services.msc,找到 HomeGroup Listener 和 HomeGroup Provider 服務,分別停止和禁用這2個服務。
8:打開網路和共享中心 → 更改適配器設置 → 網路連接 → internet協議版本6(tcp/ipv6)的前面的勾去掉,然後確定退出。
(不推薦疊瓦式~但跟100%佔用關系不大~)
Ⅷ 為什麼向U盤(硬碟)寫入或讀取小文件的速度要遠小於大文件
文件在磁碟上佔用的空間是按照簇來算的。一個文件佔多少多少個簇。其次,磁碟上小文件的讀寫是不連續的。下面談談U盤和傳統溫冊斯特硬碟的不同
1,硬碟的讀寫是機械式的,決定於磁頭的移動方式,或者用平均尋道時間這個參數來衡量。磁頭從圓心內向圓周方向運動,越往外,線速度越大,讀寫速度越快。而且對於大文件,系統會分配連續空間,所以比較快
2,U盤讀寫速度決定於控制器和顆粒通道。因為U盤(固態硬碟也一樣)的讀寫是要先靠電擦除然後再寫入,所以讀比寫快。其次,大文件可以同時多個通道寫入,比小文件單通道寫入快。第三,有些牛逼的U盤可以支持一次寫入,即把數據放在緩存里,然後堆到64M或者32M,再一次性寫入顆粒里