У меня есть компьютер, который становится недоступным, и перезагрузка решает проблему. Он находится под несколько большой нагрузкой (высокий процессор и высокая загрузка оперативной памяти), но по большей части выглядит стабильно.
Какой хороший способ определить, почему он умирает на мне? Мне нужно это сделать, пока компьютер находится под нагрузкой / в производстве.
НАПРИМЕР:
*Редактировать:
Основываясь на ответах, я думаю, мне следует кое-что прояснить:
Нагрузка высока, поскольку это производственный сервер, а не потому, что в процессе происходит утечка оперативной памяти или процесс записи в бесконечном цикле. Это нормально и приводит к образованию огромных журналов, которые непрактично читать построчно. Я знаком с htop, cacti, nagios, munin - и ни один из них не отвечает на то, о чем я прошу, поскольку они только показывают, что система находится под большой нагрузкой (что я уже знаю).
вы должны искать начало проблемы
Что искать в каких журналах?
Первым делом открытый верх или если установлен htop
и поиск перегруженных задач .. Много активных магазинов, загрузка процессов ..
если найдешь что-нибудь поищи в журналах
хвост -f / var / журнал / системный журнал
хвост -f / var / log / dmesg
и поиск ошибок или предупреждений, названных с в конечном итоге перегруженными задачами, которые вы нашли в top или htop.
В / var / log / много файлов журналов для многих программ.
Как с пульта определить, исправен ли барабан?
Для этой проблемы вы можете использовать веб-аналитический инструмент, такой как Munin
http://munin-monitoring.org/
Напишите небольшой сценарий bash, который проверяет оперативную память и, когда у вас возникают проблемы, отправляйте письмо. или используйте
nagios -> это инструмент мониторинга, когда у вас возникают проблемы с оперативной памятью, вы получаете почту.
Как определить, есть ли на жестком диске битые сектора?
узнайте, какой у вас основной жесткий диск или какой жесткий диск вы будете тестировать
fdisk -l
и проверьте жесткий диск с помощью fsck (filesystemcheck: fsck проверьте и восстановите файловую систему Linux)
Как найти последнюю ошибку перед перезагрузкой в журналах (какой хороший способ разбирать журналы)
Вы можете использовать команду tail с опцией lines
хвост -200 / var / журнал / системный журнал
хвост -200 / var / log / dmesg
поиск изменений уровня запуска или последовательностей выключения init 6 - уровень запуска перезагрузки
это может помочь, когда вы используете пейджер (меньше)
хвост -200 / var / log / syslog | меньше
Я надеюсь, что смогу немного помочь :)
желаю тебе успеха
Я бы подошел к этому по-другому. Откройте несколько сессий - одну с tail -f /var/log/syslog
, второй с tail -f /var/log/kern.log
, в-третьих, контролировать top
и в-четвертых, чтобы запустить такую утилиту, как stress
. Теперь смоделируйте загруженную систему и посмотрите, что произойдет. Я предлагаю начать только с загрузки процессора и работать оттуда. Также проверьте связь с машиной во время тестов и следите за ее реакцией.
Обратите внимание - если вы исчерпаете свою оперативную память и нажмете подкачку (кроме SSD), машина будет выглядеть именно так, как вы ее описали. Удачи!
Предлагаю установить htop что дает хороший обзор вашей системы. Вы также можете просто использовать top
. Если нагрузка очень высока и система перестает отвечать, попробуйте ps aux
и убить ненужные подозрительные процессы или остановить службы, использующие sudo service $service stop
.
cd /var/log; ls -lrt
дает вам последние измененные журналы, проверьте этиssh server free -m
дает вам информацию об использовании памяти и подкачкиsmartctl
чтобы проверить ваши дискиless
смотреть журналы и использовать ключи b
и f
чтобы пролистать их. Печатать /
позволяет искать текст. Вы также можете использовать grep
в файле, чтобы искать конкретные даты или текст.В системах ubuntu вы можете добавить своего пользователя в группу adm
, так что вам не нужно использовать sudo
читать некоторые файлы.
Еще одна хорошая идея - установить logcheck
и настроить его для отправки вам электронных писем о том, что происходит. Если у вас более одного компьютера, о котором вы заботитесь, вы также можете установить систему мониторинга, например xymon
для выявления аномалий.
Удачи в исправлении вашей системы!
Вы не задумывались о проблемах, связанных с оборудованием? Я бы сделал следующее по порядку:
Удачи!