|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 23 Apr 2007 22:22:59 To : All Subject : physio & buffer cache -------------------------------------------------------------------------------- Привет! В связи с ntfs-3g. При записи на него в системе работает процесс user-level ntfs-3g, который в top постоянно висит в состоянии physwr. Более детальное рассматривание при помощи ktrace -p показывает: 1045 ntfs-3g CALL pread(0x4,0x80c9000,0x600,0,0xcbbe2e00,0xc) 1045 ntfs-3g GIO fd 4 read 1536 bytes 1045 ntfs-3g RET pread 1536/0x600 1045 ntfs-3g CALL pread(0x4,0x80ca000,0x200,0,0xcbbe2e00,0xc) 1045 ntfs-3g GIO fd 4 read 512 bytes 1045 ntfs-3g RET pread 512/0x200 1045 ntfs-3g CALL pread(0x4,0x80ca400,0x200,0,0xcbbe3200,0xc) 1045 ntfs-3g GIO fd 4 read 512 bytes 1045 ntfs-3g RET pread 512/0x200 1045 ntfs-3g CALL pwrite(0x4,0x80ca000,0x600,0,0xcbbe2e00,0xc) 1045 ntfs-3g GIO fd 4 wrote 1536 bytes 1045 ntfs-3g RET pwrite 1536/0x600 1045 ntfs-3g CALL pwrite(0x4,0x80a7040,0x1000,0,0x774bb000,0x4) 1045 ntfs-3g GIO fd 4 wrote 4096 bytes 1045 ntfs-3g RET pwrite 4096/0x1000 1045 ntfs-3g CALL pread(0x4,0x8086400,0x400,0,0xc0007800,0) 1045 ntfs-3g GIO fd 4 read 1024 bytes 1045 ntfs-3g RET pread 1024/0x400 1045 ntfs-3g CALL pread(0x4,0x80c9000,0x1000,0,0xcc350000,0) 1045 ntfs-3g GIO fd 4 read 4096 bytes 1045 ntfs-3g RET pread 4096/0x1000 И так далее. То есть, он постоянно читает-пишет девайс мелкими порциями. А теперь самое интересное. Как известно, после 1998-го в FreeBSD отменены block devices. До этого обращения юзеровских процессов к charactes devices шли через так называемый physio и мимо buffer cache, в то время как обращения к block devices шли через buffer cache. Теперь block devices нет и все обращения user-level к девайсам не кешируются? Может быть, поэтому ntfs-3g под фрёй так тормозит? Как обстоит дело с блочными/символьными устройствами (и с их кешированием) под Linux сейчас? Eugene -- Hаучить презирать мещанскую мудрость. --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/260932155373b.html, оценка из 5, голосов 10
|