Я пытаюсь понять, насколько большое количество ловушек, о котором сообщает top, на Solaris 10
Ядро: 1659 ctxsw, 1069 ловушка, 4433 intr, 3837 syscall, 5 fork Память: 8192M Physical mem, 299M free mem, 4103M total swap, 3236M free swap
есть проблема или нет.
Поиск в Google ловушек ядра в основном возвращает большие документы по архитектуре ядра; заметки на скалах были бы очень признательны.
Спасибо
PS. Не обращайте внимания на обмен
Думаю, мне следовало опубликовать ответ вместо комментария. Я попытался найти способ удалить его, но не знал, как это сделать, а затем превысил пятиминутный лимит. В любом случае ... вот лучший комментарий в форме ответа:
Ловушка - это механизм, встроенный в ЦП, который позволяет продолжить выполнение программы в другом, четко определенном месте (в этом случае он также переключается с пользовательского контекста на контекст ядра, отсюда и название ядро ловушка). Одно из применений ловушек - это когда оборудование обнаруживает ошибку и требует, чтобы ЦП продолжил обработку кода ошибки (деление на ноль, ошибки доступа к памяти и т. Д.). В системах UNIX прерывания также используются для выполнения системных вызовов (см. Отличную книгу Макдугалла и Мауро "Solaris Internals", в частности, глава 2.8). В вашем случае ядро было введено 1069 раз за определенный промежуток времени.
Не зная больше о вашей системе, ее процессах, которые она выполняет на данный момент, и об оборудовании, на котором она работает, к сожалению, невозможно сказать, в хорошем или плохом состоянии ваши системы.
Это своего рода прерывание, вероятно, исходящее от процессора, но сейчас это не важно. Видеть man trapstat
и прочтите ссылки, которые вы собрали на досуге.
Вы ошибаетесь, говоря, что не обращайте внимания на подкачку, потому что (особенно если ваш сервер не разбился) ловушки, вероятно, связаны с памятью и из-за промахов TLB. Использовать trapstat -T
чтобы увидеть, можете ли вы получить выгоду от больших страниц (и, возможно, купить больше оперативной памяти).
Кто может сказать, является ли это проблемой?
Кстати, вместо top обычно используется prstat.