Block-Device
解除安裝 HTC 設備需要很長時間
不確定是否應該在Android SE上發布此內容,因為我認為這與 Android 作業系統沒有直接關係。在我的系統上,我使用以下選項手動
mount
和我的 HTC 設備:umount``/etc/fstab
UUID=3465-3762 /mnt/htc auto gid=100,umask=002,noauto,user,rw,exec 0 0
這在修改 SD 卡上的少量數據時效果很好,但是每當我從另一個設備複製一些以 FLAC 編碼的音樂專輯時 - 解除安裝 SD 卡似乎需要很長時間:
$ time umount /mnt/htc/ real 1m17.195s user 0m0.000s sys 0m0.237s
這個時間與修改的數據量成正比嗎?無論如何解除安裝它需要這麼長時間嗎?
這與核心進行大量緩衝有關,包括緩衝對設備的寫入。
如果您發出:
cp large_file /mnt/htc/
cp
將在完成write
數據後立即返回,但(對於相當“慢”的設備/連接)遠在實際寫入數據之前。(除非cp
您使用的工具本身發出問題fsync
或類似的呼叫來等待實際數據到達驅動器 - 一些圖形文件管理器會這樣做,一些工具可以使用選項來控制它們是否這樣做。)
unmount
在它“分離”設備之前刷新寫入緩衝區,這樣您就不會失去數據。如果核心緩衝了大量數據,可能會花費很多時間,並且實際寫入速度很慢。嘗試在執行複制時在終端中執行類似
iostat 2
(的一部分)之類的東西,然後您應該會看到 write I/O 直到該點返回。sysstat``unmount``unmount