Назад | Перейти на главную страницу

В чем разница между rMB_nor / s, rMB_dir / s и rMB_svr / s в iostat?

Я пытаюсь интерпретировать результаты выполнения следующей команды

iostat -mnhyc

Это дает следующие

Filesystem:               rMB_nor/s    wMB_nor/s    rMB_dir/s    wMB_dir/s    rMB_svr/s    wMB_svr/s     ops/s    rops/s    wops/s

/NFS_mount_path/    
                         376.46         0.00         0.00         0.00         0.98         0.00    132.80    129.60      0.00

Сколько данных на самом деле считывается с моего монтирования NFS? Что мне делать: rMB_nor / s или rMB_svr / s? На странице руководства для iostat указано, что rMB_nor / s - это количество МБ, прочитанное приложениями через вызов read (2), а rMB_svr / s - это количество МБ, прочитанное с сервера клиентом NFS через запрос NFS READ. Но я не совсем понимаю, чем они отличаются. В чем разница между NFS READ и read (2)? Разве все операции чтения для монтирования NFS не должны быть ЧТЕНИЕМ NFS? Разве я не должен ожидать, что rMB_svr / s будет больше или равно rMB_nor / s?

Если данные доступны в кэше файловой системы, то системный вызов read получит данные, но на сервер NFS не будут отправляться запросы чтения. Это может произойти, когда приложение читает одни и те же блоки несколько раз, или когда пользователь открывает один и тот же файл несколько раз. Вы можете очистить кеш файловой системы и снова посмотреть результат iostat:

# echo 3 > /proc/sys/vm/drop_caches