Есть ли команда, которая может сказать мне, что находится в очереди запуска Solaris? Я могу получить счет, используя vmstat, но мне нужно знать, какие процессы/потоки там есть.Очередь запуска процессора Solaris
ответ
Запуск очереди всегда меняется, поэтому почти невозможно получить набор процессов в текущей очереди выполнения.
Таким образом, вы можете приблизиться, посмотрев поле STAT
(состояние) в списке процессов от ps
. При выполнении команды ниже:
$ ps aux
... если STAT
поле начинается с R
, то процесс помечается RUNNABLE
ядром, которое в большинстве операционных систем означает, что он находится в очереди выполнения. Вот то, что работоспособный процесс выглядит на моей машине:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 78179 0.0 0.0 599828 480 s003 R+ 7:51AM 0:00.00 ps aux
На Солярис, вы можете также использовать команду prstat
и посмотреть на STATE
колонки. Значение run
указывает, что процесс находится в очереди выполнения. (Также обратите внимание, что значение cpuN
указывает, что процесс в настоящее время работает на процессоре N.
. Например:
$ prstat -s cpu -n 5
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
13974 kincaid 888K 432K run 40 0 36:14.51 67% cpuhog/1
27354 kincaid 2216K 1928K run 31 0 314:48.51 27% server/5
14690 root 136M 46M sleep 59 0 0:00.59 2.3% Xsun/1
14797 kincaid 9192K 7496K sleep 59 0 0:00.10 0.9% dtwm/8
14851 kincaid 24M 14M sleep 48 0 0:00.03 0.3% netscape/1
Total: 97 processes, 190 lwps, load averages: 2.18, 2.15, 2.11
Я собирался исправить 0xfe ответ, когда я видел, как вы уже сделали это очереди выполнения содержит theads not processes, поэтому опция -L является обязательной с командой prstat, если вы хотите, чтобы количество строк состояния было более или менее согласовано с очередью выполнения. Остерегайтесь того, что артефакты выборки, вероятно, будут препятствовать получению точных совпадений.
В любом случае, если вы хотите точно знать, какие процессы/потоки являются sitti ng в очереди выполнения вы предпочитаете путь dtrace, предполагая, что вы используете Solaris 10 или новее.
whoqueue.d сценарий, который, возможно, уже был в/USR/демонстрационном каталоге/Dtrace на вашей машине будет хороший старт:
# dtrace -s /usr/demo/dtrace/whoqueue.d
Run queue of length 1:
24349/1 (dtrace)
Run queue of length 3:
0/0 (sched)
0/0 (sched)
0/0 (sched)
Run queue of length 4:
22468/30 (java)
22468/17 (java)
22468/23 (java)
22468/10 (java)
Посмотрите this page для деталей.
Спасибо. Мне не нужна очень высокая точность, prstat с интервалом в 1 секунду для меня достаточно. Я не могу использовать dtrace, поскольку я нахожусь в Solaris 9. – Vasu
- 1. Уровни запуска демона Solaris
- 2. Очередь разрешается в overdrive процессора iphone
- 3. Получение статистики использования процессора от C на Solaris 10
- 4. Очередь в очередь по запросам ajax по мере их запуска
- 5. использование процессора во время запуска витую реактора
- 6. итерация списка очередей активного запуска процессора sched.h
- 7. Получить номер процессора от запуска java-программы
- 8. Как использовать диспетчерскую очередь для запуска функции
- 9. Переход из очереди ожидания в очередь запуска
- 10. IOS остановить глобальную очередь от запуска
- 11. Как связать JSR Solaris с install4j без запуска приложения install4j на Solaris?
- 12. Когда процесс переходит в готовую очередь для алгоритма планирования процессора?
- 13. Настройка java для использования одного процессора
- 14. Время запуска на сервере Solaris с использованием сценария оболочки
- 15. Ошибка запуска Tomcat 7 с Java SE 1.7 в Solaris
- 16. oracle setup in solaris
- 17. Как использовать Solaris :: Kstat для Solaris 5.10?
- 18. open solaris code vs solaris code
- 19. разница между Solaris sparc и solaris x86
- 20. Производительность процессора
- 21. Изоляция процессора процессора процессора в Windows
- 22. Аудиоинтерфейс Solaris
- 23. Как просмотреть потоки процесса в Solaris?
- 24. Как указать ядро процессора для запуска программы в Linux
- 25. Node.js child_process.fork() для запуска на разных ядрах процессора
- 26. PresentationFontCache.exe с использованием 99% -ного процессора после запуска WPF-приложения
- 27. MassTransit - код запуска при отправке сообщений в очередь ошибок
- 28. Задача отправки в очередь для запуска задачи в другом потоке
- 29. ActiveMQ - Нужно ли переписываться в очередь после запуска события Listener?
- 30. VBScript для запуска в очередь COM + приложений - утечка памяти
Спасибо. Я попытаюсь использовать prstat -n 1000 -acL 1 и проверить, дает ли он точную информацию о запуске очереди. – Vasu
@Vasu: что такое «точная информация о очереди выполнения» в этом контексте? Я думаю, что для этого будет трудно найти разумный смысл. – miracle173