Nhật ký hệ thống trong Mac OSX 10.6


6

Một cái gì đó đang lấp đầy các tệp nhật ký hệ thống của tôi, đến mức console.app sẽ chỉ hiển thị nửa giờ cuối của mỗi tệp. Có vẻ như có thứ gì đó đang cố thoát khỏi hộp cát của nó, nhưng tôi không chắc chính xác là gì ... Tôi nhận được NHIỀU tin nhắn lặp đi lặp lại như sau:

Feb  3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny file-read-data /private/var/log/asl/StoreData
Feb  3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name
Feb  3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny file-read-data /private/var/log/asl/StoreData
Feb  3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name
Feb  3 00:29:59: --- last message repeated 1 time ---
Feb  3 00:29:57 Brians-mini sandboxd[16]: *** process 16 exceeded 500 log message per second limit  -  remaining messages this second discarded ***
Feb  3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name
Feb  3 00:30:00: --- last message repeated 499 times ---
Feb  3 00:29:58 Brians-mini sandboxd[16]: *** process 16 exceeded 500 log message per second limit  -  remaining messages this second discarded ***
Feb  3 00:29:58 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name

Chỉnh sửa để thêm:

Giám sát hoạt động nói rằng sandboxd đang chiếm 60% cpu và syslogd chiếm tới 120%. Bây giờ, tôi cho rằng đó là bộ xử lý PER (Tôi thuộc bộ đôi lõi 2) Nhưng đó vẫn là rất nhiều cpu TUYỆT VỜI cho hai quá trình đó ...

EDIT: var / log / asl theo yêu cầu:

drwxr-xr-x  25 root     wheel       850 Jan  6 06:41 ./
drwxr-xr-x  47 root     wheel      1598 Feb  4 15:16 ../
-rw-r-----   1 root     admin     11414 Jan  4 11:49 2010.01.04.U0.G80.asl
-rw-------   1 root     wheel       874 Jan  4 09:41 2010.01.04.U0.asl
-rw-------   1 acordex  wheel     43862 Jan  4 17:53 2010.01.04.U501.asl
-rw-r--r--   1 root     wheel     44614 Jan  4 23:42 2010.01.04.asl
-rw-r-----   1 root     admin  10241494 Jan  5 16:53 2010.01.05.U0.G80.asl
-rw-------   1 acordex  wheel    669585 Jan  5 18:11 2010.01.05.U501.asl
-rw-r--r--   1 root     wheel    772889 Jan  5 23:42 2010.01.05.asl
-rw-r-----   1 root     admin      9731 Jan  6 18:54 2010.01.06.U0.G80.asl
-rw-------   1 acordex  wheel    404532 Jan  6 18:50 2010.01.06.U501.asl
-rw-r--r--   1 root     wheel    838013 Jan  6 18:53 2010.01.06.asl
-rw-r-----   1 root     admin     52896 Sep 24 18:20 BB.2010.09.30.U0.G80.asl
-rw-r--r--   1 root     wheel     50908 Sep 29 10:30 BB.2010.09.30.asl
-rw-r-----   1 root     admin     58875 Oct 30 11:18 BB.2010.10.31.U0.G80.asl
-rw-r--r--   1 root     wheel     46188 Oct 30 17:41 BB.2010.10.31.asl
-rw-r-----   1 root     admin     10322 Nov  5 18:21 BB.2010.11.29.U0.G80.asl
-rw-r--r--   1 root     wheel      2159 Nov  4 17:21 BB.2010.11.29.asl
-rw-r-----   1 root     admin      6586 Nov  9 14:06 BB.2010.11.30.U0.G80.asl
-rw-r--r--   1 root     wheel     23147 Nov 25 16:36 BB.2010.11.30.asl
-rw-r-----   1 root     admin     21686 Dec 16 19:06 BB.2010.12.31.U0.G80.asl
-rw-r--r--   1 root     wheel     36951 Dec 23 18:32 BB.2010.12.31.asl
-rw-r--r--   1 root     wheel      2584 Jan  6 16:49 BB.2011.01.31.asl
-rw-r--r--   1 root     wheel        12 Jan  6 18:54 StoreData
-rw-r--r--   1 root     wheel         8 Jan  6 16:59 SweepStore

Câu trả lời:


5

Có vẻ như syslogdchính nó đã gây ra sự cố - nó bị tách khỏi các tệp dữ liệu của nó, vì vậy khi nó cố truy cập vào chúng, nó sẽ phát sinh lỗi hộp cát, điều này khiến syslogdnó cố gắng lấy lại các tệp của nó. .. và điều này lặp đi lặp lại càng nhanh càng tốt syslogdsandboxdcó thể đi.

Kiểm tra nội dung của /System/Library/LaunchDaemons/com.apple.syslogd.plist(mục launchd kiểm soát cách khởi chạy syslogd). Nó nên có một phần như thế này:

    <key>ProgramArguments</key>
    <array>
<!--
    Un-comment the following lines to run syslogd with a sandbox profile.
    Sandbox profiles restrict processes from performing unauthorized
    operations; so it may be necessary to update the profile
    (/usr/share/sandbox/syslogd.sb) if any changes are made to the syslog
    configuration (/etc/syslog.conf).
-->
<!--
        <string>/usr/bin/sandbox-exec</string>
        <string>-f</string>
        <string>/usr/share/sandbox/syslogd.sb</string>
-->
        <string>/usr/sbin/syslogd</string>
    </array>

Lưu ý rằng trong ví dụ trên (lấy từ máy Mac của tôi), trình bao bọc hộp cát xung quanh syslogd được nhận xét. Điều này có đúng như vậy trên máy Mac của bạn không? Nếu không, hãy thêm lại các đánh dấu nhận xét và khởi động lại syslogd(bạn có thể làm điều này với launchctl, nhưng tôi chỉ cần khởi động lại máy).

Một lưu ý khác: Tôi đã xem qua hồ sơ hộp cát /usr/share/sandbox/syslogd.sb, và nó trông (với đôi mắt thiếu kinh nghiệm của tôi) giống như nó từ chối mach-task-namevà truy cập /private/var/log/asl/StoreData- rõ ràng, Apple đã không gỡ lỗi (/ cập nhật) hồ sơ để phù hợp với những gì syslogdthực sự cần. ..


Bing bing bing, chúng tôi có một người chiến thắng. vâng, có vẻ hơi kỳ lạ khi apple sẽ đặt mã nhận xét đó vào đó, và sau đó nó bị hỏng rất nặng khi bạn không chú ý đến nó ... cảm ơn!
Brian Postow

1

Chà, quá trình lấp đầy mọi thứ là sandboxd (quy trình 16).

Về lý do tại sao nó đăng nhập quá nhiều, chúng ta cần xem thêm thông điệp của nó để hiểu vấn đề. (Có vẻ từ đoạn trích nhỏ này giống như một số chương trình đang cố làm điều gì đó trái phép - truy cập vào tệp được chỉ định - nhưng không có nhiều thông tin ở đây.)


1
tốt, vâng tôi hình dung rằng ... và về cơ bản những thông điệp đó (mà tôi cần định dạng lại) về cơ bản là toàn bộ, lặp đi lặp lại QUÁ VÀ QUÁ VÀ QUÁ VÀ QUÁ.
Brian Postow

1
Cảm ơn đã định dạng lại các bản ghi - nó giúp. Thật không may, những gì bạn có là một số ứng dụng đang cố đọc các tệp nhật ký hệ thống trong thư mục asl mà sandboxd đang cho phép - nhưng sandboxd không báo cáo ID quy trình cụ thể đó. Nếu có, chúng tôi sẽ có thể xác định điều này. Bạn có thể thử thoát khỏi bất kỳ ứng dụng nào bạn đang chạy trong phiên đăng nhập của mình (bao gồm cả bảng điều khiển) và xem liệu có bất kỳ ứng dụng nào dừng việc phun ra không. Bạn cũng có thể mở ứng dụng giao diện điều khiển và xem liệu có bất kỳ nhật ký nào khác có dữ liệu hữu ích không.
Jon Lasser

không khởi động lại cũng không đăng nhập như một người dùng mới dường như đã giúp đỡ. Tôi thoát tất cả các ứng dụng người dùng ... Và tôi không thấy bất cứ điều gì trong các bản ghi khác ...
Brian Postow

1

Hai suy nghĩ khác nhau:

  1. Cố gắng xác định xem có một quy trình cụ thể được sinh ra bởi sandboxd gây ra các lỗi này không. Chạy ứng dụng Trình giám sát hoạt động và chọn "Tất cả quy trình, phân cấp" từ danh sách chọn ở đầu cửa sổ. Tìm sandboxd trong danh sách và xem nếu có bất kỳ tiến trình con nào trong đó - các tiến trình con sẽ được thụt lề.

  2. Các mesages log đề cập đến / private / var / log / asl. Nhìn vào các trang man cho aslmanagerasl.conf(tệp cấu hình cho aslmanager). Có một cài đặt trong tệp cấu hình cho mức ghi nhật ký. Có lẽ điều này đã bị va chạm đến một mức độ chi tiết hơn.


tốt, tin xấu là: Không, không có quá trình con. Tin vui là sandboxd đang chiếm 60% bộ xử lý, có vẻ như ... không thể ...
Brian Postow

Có vẻ như không có khả năng nào cả. Một cái gì đó đang bận rộn tạo ra một loạt các lỗi mỗi giây, do đó, lý do là bất cứ điều gì không thành công sẽ sử dụng một số năng lượng CPU.
Ridogi

@ridogi: Đúng. có vẻ như điều này không xảy ra nếu không có điều gì khác ... rất sai ...
Brian Postow

Tôi đã không nói rằng đó là bình thường và có thể bị bỏ qua, chỉ là một quá trình bị lỗi hoặc liên tục cố gắng viết một số loại tin nhắn vào nhật ký sẽ hog một loạt cpu. Khó có thể nói vấn đề là gì, nhưng tôi đã viết một câu trả lời với một số điều để xem thử.
Ridogi

vâng Asl.conf đã không được chạm vào trong 6 tháng và không có gì lạ đối với tôi ... Tôi đoán rằng vấn đề là có gì đó đang cố gắng đăng nhập, nhưng sandboxd đang ngăn chặn nó ...
Brian Postow

0

Điều này xảy ra khi bạn khởi động vào chế độ an toàn?

Nó có xảy ra ở người dùng khác không?

Có bất kỳ khách hàng tiềm năng trong console.log?

Bạn có thể dán kết quả của ls -la /private/var/log/asl/- có lẽ một cái gì đó không ổn ở đó.

Bạn đã sửa đổi /System/Library/LaunchDaemons/com.apple.aslmanager.plisthay/private/etc/asl.conf

Bạn sẽ có thể thấy các mục trở lại sau 7 ngày trong 10.6 trong syslog bằng cách sử dụng syslog | grep -v sandboxd | grep -v "last message repeated" | tail -n 100Điều đó sẽ hiển thị cho bạn 100 mục không phải hộp cát cuối cùng trong ASL. Có lẽ điều đó sẽ cho bạn manh mối về những gì khác đang diễn ra.

Nếu nó được lấp đầy nhanh đến mức ASL sẽ đạt kích thước tối đa rất nhanh, bạn có thể thử tăng kích thước mà cơ sở dữ liệu ASL có thể phát triển tạm thời bằng max_store_size trong /private/etc/asl.confThông tin thêm trên trang man . Làm điều đó và sau đó chạy lệnh syslog ở trên có thể mang lại một số thông tin nhật ký hữu ích.


Tôi chưa thử chế độ an toàn, nhưng khởi động lại và đăng nhập với tư cách người dùng khác không giúp đỡ. ls được đăng trong tin nhắn ban đầu để tôi có thể định dạng nó. Tôi không tin rằng tôi đã sửa đổi một trong những tệp đó. Các tệp trong ASL chưa được cập nhật kể từ ngày 6 tháng 1 và lệnh syslog không hiển thị bất cứ điều gì sau ngày 6 tháng 1.
Brian Postow

Có vẻ như ASL bị hỏng trên máy của bạn, trái ngược với vấn đề là quá trình bí ẩn. Để máy tính qua đêm (cài đặt không ngủ) có thể giúp ích vì các bản ghi sẽ xuất hiện vào lúc nửa đêm và các tập lệnh bảo trì sẽ chạy xung quanh 3. Tôi không biết các tệp BB. * Là gì - Tôi không ở trước một máy SL nhưng tôi chưa thấy chúng trước đây. Người cuối cùng với ngày 2011 là không hài lòng. Có lẽ đó là một trong những chỉ dẫn của vấn đề. Tôi sẽ chuyển tất cả tệp BB. * Ra khỏi đó và khởi động lại. Bạn đã cài đặt bất cứ thứ gì vào ngày 6? Có lẽ Software Update.log sẽ chạy bộ nhớ của bạn.
Ridogi

Bạn đã thay đổi thói quen khi rời khỏi máy tính mọi lúc hay để nó ngủ hoặc tắt nó đi? Cài đặt lại trình cập nhật kết hợp 10.6.2 cũng có thể giúp bạn. LongTTL.U0.asl và LongTTL.asl không có trong thư mục của bạn. Người khác với SL có thể xác nhận rằng họ vẫn nên có mặt không? (Tôi là ngày 10,5)
Ridogi

ồ, và tôi dường như KHÔNG CÓ console.log trong / var / log.
Brian Postow

Nó không sống ở đó. Bạn có thể mở nó trong Console.app không? Bạn đã chạy DiskWar Warrior chưa?
Ridogi
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.