Kernel Panic không có tệp nhật ký


8

Tôi đang chơi một trò chơi trên Steam và đột nhiên tôi thấy hoảng loạn hạt nhân. Tôi tự tắt máy tính và khởi động lại vào Linux Mint 17.1 (Cinnamon) 64-bit và đi kiểm tra các tệp nhật ký của mình /var/log/, nhưng tôi không thể tìm thấy bất kỳ tài liệu tham khảo hoặc bất kỳ loại thông báo nào liên quan đến kernel. đã xảy ra.

Thật kỳ lạ tại sao nó không bao giờ đổ lõi hoặc thậm chí ghi chú vào tệp nhật ký. Làm thế nào tôi có thể chắc chắn rằng một lõi luôn bị đổ trong trường hợp hoảng loạn hạt nhân lại xảy ra? Không có ý nghĩa tại sao không có gì được ghi lại khi sự hoảng loạn hạt nhân xảy ra. Nhìn xung quanh trên Google, người ta đề nghị để đọc qua /var/log/dmesg, /var/log/syslog, /var/log/kern.log, /var/log/Xorg.logvv ... nhưng không. Ngay cả trong .Xsession-errorstập tin cũng không.

Dưới đây là một số hình ảnh của màn hình:
Hạt nhân hoảng loạn (hình ảnh 2) Hạt nhân hoảng loạn (hình ảnh 1)

Tôi luôn có thể chụp ảnh màn hình khi và nếu nó xảy ra lần nữa, nhưng tôi chỉ muốn đảm bảo rằng tôi có thể lấy nó để đổ lõi và tạo một tệp nhật ký trên kernel.


1
bạn đã kiểm tra /var/crashchưa
Archemar

@Archemar Không có tập tin hoặc thư mục như vậy.

Rất khó có khả năng bạn sẽ tìm thấy thông tin về lỗi kernel .Xsession-errors.
G-Man nói 'Phục hồi Monica'

Câu trả lời:


6

Để chắc chắn rằng máy của bạn tạo tệp "lõi" khi xảy ra lỗi kernel, bạn nên xác nhận cài đặt "sysctl" của máy.

IMO, sau đây phải là các cài đặt (tối thiểu) trong /etc/sysctl.conf:

kernel.core_pattern = /var/crash/core.%t.%p
kernel.panic=10
kernel.unknown_nmi_panic=1

Thực hiện sysctl -psau khi thực hiện thay đổi trong /etc/sysctl.conftập tin. Bạn có lẽ cũng nên mkdir /var/crashnếu nó không tồn tại.

Bạn có thể kiểm tra ở trên bằng cách tạo kết xuất thủ công bằng cách sử dụng SysRqkhóa (tổ hợp phím để kết xuất lõi là Alt+ SysRq+ C).


Đây dường như là một khởi đầu tại một cái gì đó. Tôi đã phải viết những điều này như là mục mới vào sysctl vì nó không có trong tập tin. Tôi đã làm Alt+SysRq+Cvới các phím nhưng nó không làm gì cả, nó chỉ nhấp nháy màn hình. Tôi cũng đang sử dụng máy tính xách tay nên các phím có thể khác nhau. Tôi đã thử fn+SysRq+Cnhưng điều đó vẫn làm như trước.

Vui lòng chia sẻ đầu ra của "cat / Proc / sys / kernel / sysrq". Có thể sysrq bị vô hiệu hóa trên máy của bạn. Tham khảo: kernel.org/doc/Documentation/sysrq.txt để biết thêm chi tiết
shubham

đầu ra của nó mang lại cho tôi 176

Chỉnh sửa tệp /etc/sysctl.conf để bao gồm dòng -> kernel.sysrq = 1
shubham

1
@ user94959 Nó có hiệu quả với bạn không?
shubham

2

Khi kernel hoảng loạn, điều đó có nghĩa là đã xảy ra lỗi trong kernel. Viết tệp nhật ký và kết xuất lõi yêu cầu sử dụng trình điều khiển cho thiết bị lưu trữ khối (đĩa của bạn) và hệ thống tệp (không gian phải được phân bổ và kích thước của tệp nhật ký phải được cập nhật). Do các dịch vụ được cung cấp bởi kernel được yêu cầu để ghi tệp và kernel biết rằng nó đang ở trạng thái bị hỏng, nó không thể ghi các tệp hoặc ghi nhật ký bất cứ điều gì, vì nó không còn ở trạng thái an toàn nữa, vì vậy bất kỳ hoạt động nào cũng có thể làm mọi thứ tồi tệ hơn và có thể làm hỏng / phá hủy hệ thống tập tin của bạn. Vì vậy, bạn không thể có kernel ghi vào nhật ký cũng như kết xuất kết xuất lõi khi nó hoảng loạn.

Bây giờ, những gì bạn có thể làm, nếu bạn muốn, là cấu hình hệ thống với hạt nhân xử lý sự cố, là hạt nhân thứ hai được tải vào bộ nhớ mà điều khiển có thể được chuyển sang nếu hạt nhân chính gặp sự cố. Vì kernel đó có trình điều khiển và như vậy, nó sẽ có thể lưu một bãi chứa sự cố cho bạn. Tuy nhiên, đây không phải là một thiết lập rất phổ biến và chủ yếu được sử dụng cho các hệ thống cao cấp đòi hỏi tính sẵn sàng cao và trong đó sự cố là một vấn đề rất nghiêm trọng cần phải điều tra.

Xem ví dụ tùy chọn crashkernel tại Kernel Crash Dump tại ubfox.com. (Lưu ý rằng trang này nói rằng cơ chế kết xuất sự cố kernel được bật theo mặc định, bắt đầu với Ubuntu 16.04.)

Tôi tin rằng hệ thống thực sự lưu kết xuất vào một phần bộ nhớ dành riêng và sau đó khởi động lại, và kernel lưu bộ nhớ dành riêng vào đĩa trong lần khởi động tiếp theo (vì kernel mới khởi động ở trạng thái lành mạnh và có thể làm điều đó).


Trang tại ubfox.com mô tả cơ chế hơi khác một chút: nó nói rằng hạt nhân tự khởi động lại vào một vùng bộ nhớ dành riêng, do đó, bộ nhớ mà nó đã sử dụng trước khi bị gián đoạn (nghĩa là bộ nhớ mà bạn muốn kết xuất) sẽ vẫn còn còn nguyên Và tôi tin rằng nó không kỳ lạ như bạn phát ra âm thanh (vì hiện tại nó được bật theo mặc định).
G-Man nói 'Phục hồi Monica'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.