সিস্টেমড-জার্নাল-ফ্লাশ. সার্ভিস এর ব্যবহার কী?


14

এটি আমার সিস্টেম বুটের সময়কে ধীর করে দেয়।

আমি কি এটি অক্ষম করতে পারি?

আমি বুটে এটি অক্ষম করলে কী হবে?

আমি উবুন্টু সংস্করণ 18.04 ব্যবহার করছি।

উত্তর:


14

systemd-journal-flush.service, প্রথমেই / var / log /? জার্নাল প্রবেশ / চালানোর / log /? জার্নাল সঞ্চিত যেকোন লগ ডেটা ঘনিষ্ঠরূপে যদি জার্নাল ডেমন জিজ্ঞেস persistentস্টোরেজ সক্রিয় করা হয়। যদি আপনার (ইতিমধ্যে) বিশাল লগ ফাইল থাকে তবে এর ফলে ধীর গতির বুট হবে। আরও জানার জন্য ডিস্কটি (সহ /var/log) লিখতে পারা যায় to

এর সংক্ষিপ্তসারটি হিসাবে: বিশাল পুরানো লগ ফাইলগুলি, যা বুটের সময় পরীক্ষা করা হয় এবং নতুন লগ ডেটা সংযোজনের ফলে ধীর বুট সময় আসে।

জার্নালটিএল লগের আকারের পরীক্ষা করতে

journalctl --disk-usage

ফ্লাশ প্রসেসিংয়ের সময় এবং ডিস্কের স্থানের তথ্য পেতে, নিম্নলিখিত কমান্ডটি প্রবেশ করুন

journalctl -b --unit systemd-journald

সম্পর্কিত আউটপুট মত দেখতে হবে

-- 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.


অপরপক্ষে তুমি

  • পরিষেবাটি অক্ষম করুন (প্রস্তাবিত নয়)

    তারপরে এটি সম্ভব যে সমস্ত লগ ডেটা ডিস্কে লেখা থাকে না; বুট ত্রুটিগুলি ডিবাগ করার সময় বিরক্তিকর।


  • একটি journalctl --vacuumকমান্ড ব্যবহার করুন

    থেকে journalctl -h

    --vacuum-size = BYTES নির্দিষ্ট আকারের নীচে ডিস্কের ব্যবহার হ্রাস করুন
    --ভ্যাকুয়াম-ফাইল = INT কেবলমাত্র নির্দিষ্ট জার্নাল ফাইলের সংখ্যা রেখে দিন
    --vacuum-time = TIME নির্দিষ্ট সময়ের চেয়ে পুরানো জার্নাল ফাইলগুলি সরিয়ে ফেলুন

    অতএব একটি

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


  • স্টোরেজ ধরণের পরিবর্তন করুন systemd-journal-flush.service

    প্রথমে আপনার স্টোরেজ প্রকারটি পরীক্ষা করুন

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

    থেকে man journald.conf

    সংগ্রহস্থল =

    জার্নাল ডেটা কোথায় সঞ্চয় করতে হবে তা নিয়ন্ত্রণ করে। একটি "উদ্বায়ী", "ধ্রুবক", "অটো" এবং "কোনওটিই নয়"।

    যদি " অস্থির " হয় তবে জার্নাল লগ ডেটা কেবল মেমরিতে সংরক্ষণ করা হবে, অর্থাত্ / রান / লগ / জার্নাল শ্রেণিবিন্যাসের নীচে (যা প্রয়োজন হলে তৈরি করা হয়)।

    যদি " অবিচলিত " থাকে, তবে ডিস্কে ডেটা সংরক্ষণ করা হবে, যেমন / var / লগ / জার্নাল হায়ারার্কির নীচে (যা প্রয়োজন হলে তৈরি করা হয়), / রান / লগ / জার্নালে (যা প্রয়োজনে তৈরি করা হয়) ফ্যালব্যাক সহ প্রারম্ভিক বুট এবং ডিস্ক লিখনযোগ্য না হলে।

    " অটো " " ধ্রুবক " এর অনুরূপ তবে ডিরেক্টরি / ভার / লগ / জার্নাল প্রয়োজনে তৈরি হয় না, যাতে লগের ডেটা কোথায় যায় তার অস্তিত্ব নিয়ন্ত্রণ করে।

    " কিছুই নয় " সমস্ত স্টোরেজ বন্ধ করে দেয়, প্রাপ্ত সমস্ত লগ ডেটা বাদ দেওয়া হবে। কনসোল, কার্নেল লগ বাফার বা একটি সিসলগ সকেটের মতো অন্যান্য লক্ষ্যগুলিতে ফরোয়ার্ড করা এখনও কাজ করবে। "অটো" এ ডিফল্ট।

    ফাইলটি সম্পাদনা করুন

    sudo nano /etc/systemd/journald.conf
    

    জার্নাল বিভাগে অস্বস্তি এবং পরিবর্তন:

    Storage=auto
    SystemMaxFileSize=1G
    SystemMaxFiles=5
    

    সংরক্ষণ করুন এবং পুনরায় বুট করুন।



আমি দেখতে পাচ্ছি না কেন বিশাল লগ ফাইল বুটটি ধীর করবে? এটি লগ ইন / রান / লগ / জার্নালে ফ্লাশ করে তবে এটি কেবল শেষ বুট থেকে লগ
solsTiCe

1
আমি নিখুঁত নিশ্চিত নই। এটি সিস্টেমেড-ব্যবহারকারী-সেশন-ফ্লাশ.সার্ভিস-এর সিস্টেমড-ইউজার-সেশনস-সার্ভিস-এর (অপরিহার্য?) নির্ভরতা হতে পারে (দেখুন HTTP: //github.com / সিস্টেমেড / সিস্টেমেড / পুল 10502)। যাইহোক, আমি অভিজ্ঞতা পেয়েছি যে লগ ফাইলটি 1GB এরও কম গতিতে বুট সময় সীমাবদ্ধ করে দেয়। আমি সিস্টেমেড / জার্নাল / * কোডের মাধ্যমে পড়েছি, তবে এইচটি আকর্ষণীয় পাই নি।
abu_bua

1
সম্ভবত ডি- / সংক্ষেপণের কারণে (lz4)? আরও লগ ডেটা সহজেই ফাইলটিতে প্রবাহিত হয় না; এটি ভ্রমণে পরিণত হয় এবং দ্রুত অনুসন্ধান, বস্তুগুলি অনুসন্ধানের জন্য একটি হ্যাশ টেবিল ...
আবু_বুয়া

1
আমি মনে করি যে জার্নাল ফাইল এবং / var / লগ ফাইল সম্পর্কিত কীভাবে একটি মন্তব্য কার্যকর হতে পারে; আমি এ সম্পর্কে পরিষ্কার নই তবে আমার কাছে মনে হয় যে জার্নালটি সক্রিয় লগিং করছে এবং যখন এটি ফ্লাশ হয়ে যায় তখন স্বাভাবিক / ভার / লগ ফাইলগুলিতে ডিস্কে সক্রিয় ডেটা লিখছেন?
পিবিএইচজে

আপনি ঠিক বলেছেন, তবে বুট করার সময় ডেটা ডিস্কে লেখা যায় না, যেহেতু প্রথমে ডিস্কটি মাউন্ট করতে হবে।
আবু_বুয়া

3

সিস্টেমড বিকাশকারী হোমপেজ থেকে এই পোস্ট অনুসারে , আপনি ইউনিট ফাইল পরিবর্তন করে এটি ঠিক করতে পারেন ।

এটি করার জন্য /lib/systemd/system/systemd-journal-flush.service, উদা, যেমন

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

এবং পরিবর্তন নির্ভরতা আগে থেকে

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

থেকে

 Before=systemd-tmpfiles-setup.service

এই ফিক্সটি স্বয়ংক্রিয়ভাবে সিস্টেমযুক্ত সংস্করণ>  v240 এর জন্য পরিবর্তিত হবে।

ফাইলটি সংরক্ষণ করতে ভুলবেন না

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.