Путешествие к центру ядра j1m (j1m@list.ru) Хакер, номер #081, стр. 081-104-5 Такую важную для многих информацию, как средняя загруженность процессора, можно узнать из файла /proc/loadavg. Многих новичков его содержимое вводит в ступор. На самом деле все просто, хотя и не привычно. Три числа представляют количество заданий (процессов), ждущих своего выполнения за последние 1, 5 и 15 минут. Таким образом, если в среднем за минуту ожидало исполнения менее одного задания, то загруженность составляет около 5-10%, 2-3 задания - уже около 80-90%, 4-5 заданий - 100% загрузка. Многие программы, подсчитывающие загрузку процессора в процентах, получают данные из этого файла. Время, прошедшее с момента загрузки, находится в /proc/uptime. Файл содержит два числа: общее время и время простоя процессора. Отсчет ведется в секундах. У меня второе число всего на сто меньше первого :). [что осталось за кадром] А за кадром у нас сегодня остался псевдофайл /proc/kcore. Он отображает всю физическую память системы в формате core, и поэтому позволяет анализировать внутренние структуры ядра в реальном времени. Для того, чтобы воспользоваться этой возможностью, тебе необходимо загрузить ядро, содержащее отладочную информацию (оно помещается в корень исходников после сборки: /usr/src/vmlinux) и выполнить от рута команду: $ gdb --core=/proc/kcore Замечу, что этот файл не будет существовать, если в ядре отключена опция "File systems -> Pseudo filesystems -> /proc/kcore support". Так же в этой статье я упустил из вида тюнинг ядра посредством /proc/sys (или sysctl) - это тема отдельной статьи. Шутливое определение BogoMIPS: "Сколько раз в секунду процессор может ничего не делать". Core-файл - это файл, генерируемый ядром в момент "обрушения" программы (сигналы QUIT, ABRT, SEGV и др.). Он содержит дамп памяти процесса и предназначен для выявления причин произошедшего. |