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