Поиск по сайту:
История подобна гвоздю, на который можно повесить все, что угодно (А. Дюма).

Инженер Google предлагает «Page Detective» в качестве нового инструмента отладки ядра

17.11.2024
Инженер Google предлагает «Page Detective» в качестве нового инструмента отладки ядра

Инженер-программист Google Паша Таташин предложил Page Detective в качестве нового инструмента для отладки ядра, который может предоставить более подробную информацию об использовании и отображении страниц физической памяти.

Исходный код Page Detective был опубликован в форме «Запрос на комментарии» и использует интерфейс Linux DebugFS для получения информации о виртуальных и физических адресах.

Эта информация, предоставляемая Page Detective, может помочь разработчикам и администраторам серверов понять, как система использует страницы памяти, например, при возникновении проблем с памятью, сбоях контрольной суммы во время миграции в реальном времени, сбоях журнала файловой системы, ошибках сегментации и других возможных случаях повреждения памяти.

«Page Detective — это инструмент отладки ядра, предназначенный для предоставления подробной информации об использовании и сопоставлении страниц физической памяти в ядре Linux. Используя интерфейс debugfs, он позволяет администраторам и разработчикам исследовать состояние и распределение страниц памяти.

Этот инструмент полезен для диагностики проблем, связанных с памятью, таких как ошибки контрольной суммы при миграции в реальном времени, сбои в журнале файловой системы, ошибки сегментации и другие виды повреждения.»

 

Патчи RFC для детектора страниц Linux были опубликованы сегодня в списке рассылки ядра Linux. Паша далее объясняет в сопроводительном письме к патчу:

«Page Detective — это новый инструмент для отладки ядра, который предоставляет подробную информацию об использовании и сопоставлении страниц физической памяти.

Читать  9 простых способов эффективного использования команды Less в Linux

Часто известно, что конкретная страница повреждена, но сложно получить дополнительную информацию о такой странице из работающей системы. Примеры:

  • Ошибка контрольной суммы во время миграции в реальном времени
  • Ошибка журнала файловой системы
  • Предупреждения dump_page в журнале консоли
  • Неожиданные ошибки сегментации

 

Page Detective помогает извлечь больше информации из ядра, поэтому разработчики могут использовать его для поиска первопричины связанной с ним проблемы.

Он работает через интерфейс Linux debugfs с двумя файлами: «virt» и «phys»:

  • Файл «virt» принимает виртуальный адрес и PID и выводит информацию о соответствующей странице.
  • Файл «phys» принимает физический адрес и выводит информацию об этой странице.

 

Вывод отображается в сообщениях журнала ядра (доступен с помощью dmesg) и включает такую информацию, как количество ссылок на страницу, сопоставление, флаги и cgroup памяти. Он также показывает, сопоставлена ли страница в таблице страниц ядра и если да, то сколько раз.

 

Будет интересно посмотреть, к чему приведёт работа Page Detective и будет ли она интересна другим заинтересованным сторонам в текущей форме, чтобы её можно было включить в основное ядро Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Покупка подержанного автомобиля – это всегда риск. Одним из самых…

Спасибо!

Теперь редакторы в курсе.