Какой тип переключения контекста учитывается в параметре cs в выходных данных команды vmstat

vmstat предоставляет счетчик cs для переключения контекста. Как это объясняет, переключение контекста может происходить из одного процесса в другой, из ядра в пользователя или из-за запуска прерывания. ЦС дает всего этого? Если так, есть ли способ получить индивидуальный вывод

3 ответа

Решение

Столбец Vmstat cs отображает, по крайней мере, в Solaris, произвольные переключения контекста, то есть те, которые происходят, когда процесс (поток действительно) освобождает ЦП, потому что он не имеет ничего общего с ним, например, ожидает какого-то внешнего события, такого как ожидающий I/O, чтобы закончить.

Если вы хотите отобразить непроизвольные переключения контекста, вы можете использовать команду mpstat и посмотреть на ее столбец icsw. Здесь отображаются переключатели контекста из-за того, что процесс прерывается / прерывается, потому что процессор требует более высокого приоритета.

Я думаю, что это может зависеть от ОС. В AIX 6.1 у вас есть ( http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/vmstat_command.htm):

"(cs is) Количество переключений контекста в секунду, наблюдаемых в интервале. Физический ресурс ЦП подразделяется на логические временные интервалы по 10 миллисекунд каждый. Предполагая, что поток запланирован для выполнения, он будет работать до истечения своего временного интервала, пока он не истечет. вытесняется или до тех пор, пока он добровольно не откажется от управления процессором. Когда другой поток получает контроль над процессором, контекст или рабочая среда предыдущего потока должны быть сохранены, а контекст текущего потока должен быть загружен. Операционная система имеет очень эффективную процедуру переключения контекста, поэтому каждый коммутатор является недорогим с точки зрения ресурсов. Любое значительное увеличение переключений контекста, например, когда cs намного выше, чем дисковый ввод-вывод и скорость сетевых пакетов, должно быть причиной для дальнейшего изучения.".

Если у вас есть источники vmstat в вашей системе, вы можете заглянуть внутрь и попытаться выяснить, что он делает.

Для Linux в ядрах 2.6.23 и более поздних вы можете получить произвольные и недобровольные переключатели контекста, разбитые по процессам с помощью команды

пидстат -w

Другие вопросы по тегам