Занятый диск близко к 100%, и iowait составляет 0,0% на SunOS, как это может быть возможно?

Вот запуск:

ps -eoetime,pid,user,cmd --sort -etime

Можно выбрать любую информацию, которую Вы хотите отобразить, видеть man ps для длинного, длинного списка. Вышеупомянутые списки команд все процессы, отсортированные в порядке убывания к прошедшему времени. Если Вы захотите только отобразить процессы, которые выполняли по крайней мере семь дней, то необходимо будет сделать что-то с grep или awk; в этом случае Вы могли бы просто хотеть распечатать etime и pid так как можно позже распечатать любые данные, Вы хотите на определенных процессах.

К сожалению, etime формат более разработан для людей, чем для сценариев, но следующее должно работать (хотя я не протестировал его):

ps -eoetime=,pid= | awk 'int(substr($1,1,index($1,"-"))) >= 7 { print }'

Краткое объяснение параметров командной строки:

-e             show all processes
-eo...         same as -e -o...
-oetime=,pid=  for each process, print the elapsed time and pid.
               The '=' suppress the column headers
--sort -etime  sort the processes in descending order by elapsed time
               (+etime would have been ascending order)
4
25.11.2014, 22:50
2 ответа

Вы можете посмотреть на Sabayon Linux , дочерний продукт Gentoo. Он использует предварительно скомпилированные пакеты, двоичные файлы a.k.a, хранящиеся в репо, которые являются удаленными. На самом деле, сопровождающие конфигурируют пакет с помощью предварительно определенных флагов USE, а затем компилируют пакет с портажем. Затем, используя Sabayon Binary Package Manager, Entropy , сопровождающие загружают скомпилированный пакет в репо Sabayon, и он становится «двоичным»

.

-121--186759-

Вы можете использовать xargs для итерации результатов так:

$ grep '/home' /etc/passwd | cut -d: -f1 | xargs -n1 -I{} chage -l {} | \
    grep "Password expires" | column -t
Password  expires  :  never

В этом варианте мы вызываем xargs с помощью переключателя -n1 , так что он будет вызывать только chage -l с одним аргументом имени пользователя. -I {} сообщает xargs использовать {} в качестве макроса, чтобы можно было пометить, куда следует поместить аргументы при вызове chage .

-121--146135-

Создается впечатление, что один поток записывает чуть больше 4KB примерно 111 раз в секунду. Этого достаточно для 100% -ной занятости диска (111 операций ввода-вывода * 9 мс времени обслуживания = 1 секунда времени обслуживания в секунду = 100%). Поскольку нет других процессов записи на этот диск (этот раздел на самом деле), очередь ожидания пуста, все запросы обрабатываются немедленно.

В вашей рабочей нагрузке нет ничего особенного или странного, диск является узким местом.

Для повышения производительности можно выбрать более быстрый диск или твердотельный накопитель, либо использовать массив дисков для распределения операций записи, либо настроить приложение на использование больших блоков или увеличить размер кэша.

Ваш тест dd бессмысленен, Вы измеряете не производительность диска, а, по существу, кэш, особенно в Solaris, где /tmp , скорее всего, будет поддерживаться виртуальной памятью, tmpfs по умолчанию для этой файловой системы.

3
27.01.2020, 20:55

http://en.wikipedia.org/wiki/Asynchronous_I/O, программа выполняет запросы на ввод/вывод, но не ждет их. Однако она все еще может принимать и обрабатывать ответы на запросы ввода/вывода, как только они поступают.

1
27.01.2020, 20:55

Теги

Похожие вопросы