Некоторое время назад я задал вопрос о стоимости системного вызова в Solaris 10 на оборудовании SPARC.В последние несколько месяцев эта проблема несколько раз всплывала, и вот что я обнаружил.
Если мы возьмем синтетический тест, в котором файл размером 300 МБ читается с диска в 256-байтовых блоках, это займет значительно больше времени.в солярисе 10 то в линуксе.Тест выполняется следующим образом:
dd if=test.dat of=/dev/null bs=256
Даже если test.dat
хранится в файловой системе с отображением в памяти, такой как /tmp
, Linux значительно превосходит Solaris с большим отрывом,Похоже, что издержки перехода туда-сюда между пользовательским пространством и пространством ядра значительно выше в Solaris, чем в Linux, даже когда оба работают на одном оборудовании.
У меня два вопроса:
- Это какой-то известный недостаток Solaris над Linux?
- Есть ли способ настроить Solaris для соответствия номерам Linux, предполагая, что я не могу увеличить размер блока ввода-вывода с 256?
Спасибо!