Việc sử dụng systemd-Tạp chí-flush.service là gì?


14

Nó làm chậm thời gian khởi động hệ thống của tôi.

Tôi có thể vô hiệu hóa nó?

Điều gì sẽ xảy ra nếu tôi vô hiệu hóa nó khi khởi động?

Tôi đang sử dụng Ubuntu phiên bản 18.04.

Câu trả lời:


13

Yêu systemd-journal-flush.servicecầu trình nền nhật ký xóa mọi dữ liệu nhật ký được lưu trữ trong / run / log / tạp chí vào / var / log / tạp chí, nếu persistentlưu trữ được bật. Trong trường hợp bạn có (đã) các tệp nhật ký khổng lồ, điều này sẽ dẫn đến việc khởi động chậm hơn. Hơn nữa, đĩa (với /var/log) phải được gắn trong một chế độ có thể ghi để làm như vậy.

Tóm lại: các tệp nhật ký cũ rất lớn, được kiểm tra trong quá trình khởi động và việc nối thêm dữ liệu nhật ký mới dẫn đến thời gian khởi động chậm hơn.

Để kiểm tra loại kích thước nhật ký nhật ký

journalctl --disk-usage

Để có được thông tin về thời gian và dung lượng ổ đĩa của quá trình xử lý, hãy nhập lệnh sau

journalctl -b --unit systemd-journald

Đầu ra tương ứng sẽ trông như thế nào

-- Logs begin at Sat 2018-12-08 00:40:23 CET, end at Mon 2018-12-10 19:40:27 CET. --
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Journal started
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Runtime journal (/run/log/journal/265c93c062bf4c8da41abfe2ae793452) is 4.7M, max 38.3M, 33.5M free.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Time spent on flushing to /var is 7.066904s for 132 entries.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: System journal (/var/log/journal/265c93c062bf4c8da41abfe2ae793452) is 128.0M, max 256.0M, 128M free.


Bạn có thể

  • Vô hiệu hóa dịch vụ (không được khuyến nghị)

    Sau đó, có thể không phải tất cả dữ liệu nhật ký được ghi vào đĩa; phiền toái khi gỡ lỗi boot boot.


  • Sử dụng một journalctl --vacuumlệnh

    Từ journalctl -h

    --vacuum-size = BYTES Giảm mức sử dụng đĩa dưới kích thước được chỉ định
    --vacuum-files = INT Chỉ để lại số lượng tệp nhật ký đã chỉ định
    --vacuum-time = TIME Xóa tệp nhật ký cũ hơn thời gian đã chỉ định

    Do đó làm một

     sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
    


  • Thay đổi loại lưu trữ của systemd-journal-flush.service

    Trước tiên hãy kiểm tra loại lưu trữ của bạn với

     systemctl cat systemd-journal-flush.service  | grep -i storage
    

    Từ man journald.conf

    Lưu trữ =

    Kiểm soát nơi lưu trữ dữ liệu tạp chí. Một trong những "dễ bay hơi", "dai dẳng", "tự động" và "không".

    Nếu " không ổn định ", dữ liệu nhật ký nhật ký sẽ chỉ được lưu trữ trong bộ nhớ, tức là bên dưới hệ thống phân cấp / run / log / tạp chí (được tạo nếu cần).

    Nếu " liên tục ", dữ liệu sẽ được lưu trữ tốt nhất trên đĩa, tức là bên dưới phân cấp / var / log / tạp chí (được tạo nếu cần), với dự phòng / run / log / tạp chí (được tạo nếu cần), trong khi khởi động sớm và nếu đĩa không thể ghi.

    "Tự động " tương tự như "liên tục" nhưng thư mục / var / log / tạp chí không được tạo nếu cần, để sự tồn tại của nó kiểm soát nơi dữ liệu nhật ký đi.

    " không " tắt tất cả bộ nhớ, tất cả dữ liệu nhật ký nhận được sẽ bị loại bỏ. Chuyển tiếp đến các mục tiêu khác, chẳng hạn như bàn điều khiển, bộ đệm nhật ký kernel hoặc ổ cắm syslog vẫn sẽ hoạt động. Mặc định là "tự động".

    Chỉnh sửa tập tin

    sudo nano /etc/systemd/journald.conf
    

    Trong phần tạp chí uncomment và thay đổi:

    Storage=auto
    SystemMaxFileSize=1G
    SystemMaxFiles=5
    

    Lưu và khởi động lại.



Tôi không thấy lý do tại sao tệp nhật ký lớn sẽ làm chậm quá trình khởi động? nó xóa nhật ký đăng nhập / chạy / đăng nhập / nhật ký nhưng đó chỉ là nhật ký kể từ lần khởi động cuối cùng
solsTiCe

1
Tôi không chắc chắn tuyệt đối. Nó cũng có thể là sự phụ thuộc (vô dụng?) Của systemd-user-session-flush.service trên systemd-user-session.service (seehttps: //github.com/systemd/systemd/pull/10502). Tuy nhiên, tôi đã trải nghiệm rằng việc giới hạn tệp nhật ký dưới 1GB sẽ tăng tốc thời gian khởi động. Tôi đã đọc qua mã systemd / tạp chí / *, nhưng không thấy sth thú vị.
abu_bua

1
Có lẽ do khử / nén (lz4)? Dữ liệu nhật ký khác không chỉ đơn giản là nhận streamd vào tệp; nó được ghi nhật ký và một bảng băm để tìm kiếm nhanh hơn các đối tượng được sửa đổi, ...
abu_bua

1
Tôi nghĩ rằng một nhận xét về cách các tệp nhật ký và / var / log liên quan có thể hữu ích; Tôi không rõ về điều đó nhưng dường như với tôi rằng tạp chí đang hoạt động đăng nhập và khi nó bị xóa, đó là ghi dữ liệu hoạt động vào đĩa trong các tệp / var / log bình thường?
pbhj

bạn đúng, nhưng trong quá trình khởi động, dữ liệu không thể được ghi vào đĩa, vì đĩa phải được gắn trước.
abu_bua

3

Theo bài đăng này từ trang chủ của nhà phát triển systemd , bạn có thể sửa nó bằng cách thay đổi tệp Đơn vị .

Để làm như vậy, mở /lib/systemd/system/systemd-journal-flush.service, ví dụ

sudo vim /lib/systemd/system/systemd-journal-flush.service

và thay đổi trước khi phụ thuộc từ

 Before=systemd-user-sessions.service systemd-tmpfiles-setup.service

Đến

 Before=systemd-tmpfiles-setup.service

Khắc phục sự cố này sẽ được tự động thay đổi cho các phiên bản systemd>  v240.

Đừng quên lưu tập tin.

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.