উচ্চ ব্যবহারের জন্য kjorterd কারণ


15

আমি কেন kjournaldআমার মেশিনে পাগল হয়ে যাচ্ছি তা জানার চেষ্টা করছি । এটি একটি 8-কোর বক্স যা মেমরির বোঝা সহ। এটি ~ 50% সিপিইউ বোঝা পেয়েছে।

আইটপটি কোনও নির্দিষ্ট প্রক্রিয়াটির দিকে লক্ষ্য করে না বলে মনে হয় - কিছু লেখার ফেটে এখানে এবং সেখানে (বেশিরভাগ ক্রোন শুরু, কিছু পর্যবেক্ষণের পরিসংখ্যান উত্পন্ন, ইত্যাদি) যখন আমি sys/vm/block_dumpলেখার পরিসংখ্যান সংগ্রহ করতাম, তখন আমি এই জাতীয় তালিকা পেয়েছিলাম:

kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2

কোথায় kjournaldকর্ম শুধু লিখেছেন আছে।

কেন এমন হচ্ছে? কেজর্নাল্ড কার্যকলাপটি কিছুটা সীমাবদ্ধ করার জন্য আমার আর কী দেখার উচিত? এটি আসলে যা লিখিত হচ্ছে তা অসম্পূর্ণ বলে মনে হচ্ছে।


আপনি কী ওএস ব্যবহার করছেন। আপনি কি uname তথ্য পোস্ট করতে পারেন।
সোহম চক্রবর্তী

আমার ঠিক একই সমস্যা ছিল
শেরেন ইয়ার্স

উত্তর:


15

kjournaldext3 এর জার্নালের জন্য দায়ী (ফাইল সিস্টেম জার্নালিং)। এটি নির্দিষ্ট বোঝার অধীনে প্রচুর সিপিইউ ব্যবহার করার জন্য পরিচিত। অন্য একটি ফাইল সিস্টেম ব্যবহার বা জার্নালিং নিষ্ক্রিয় করা (কার্যকরভাবে fs ext2 তৈরি করা) ছাড়া অনেক কিছুই করার নেই।

তাত্ত্বিকভাবে আপনি ext3 জার্নালিংয়ের অন্য একটি পদ্ধতি ব্যবহার করতে পারেন এবং সিপিইউ ব্যবহার হ্রাস পায় কিনা তা পরীক্ষা করে দেখতে পারেন, তবে মনে রাখবেন যে প্রতিটি পদ্ধতিই ডিস্কে লেখা ডেটার সুরক্ষার জন্য একটি আপস। আপনি মোড, রাইটব্যাক মোড এবং 'সবকিছু' মোড অর্ডার করেছেন।

  1. আদেশ দেওয়া হয়েছে: জার্নালটি কেবল মেটাডেটা, তবে আশ্বাস দেয় যে জার্নালে মেটাডেটা পরিবর্তন করার আগে কোনও মেটাডাটা সম্পর্কিত ডেটা সংরক্ষণ করা হয়।
  2. লিখনব্যাক: জার্নালটি কেবলমাত্র মেটাডেটা, তবে জার্নালটি কমিট করার আগে ডেটা সংরক্ষণ করা হয় তার কোনও গ্যারান্টি নেই।
  3. জার্নাল: সমস্ত কিছু ভ্রমণ, ডেটা এবং মেটাডেটা। এটি ধীর হতে পারে তবে ওয়াইএমএমভি।

আপনি বিকল্প ব্যবহার করে মোড সেট data=যখন সিস্টেম মাউন্ট মত data=ordered


একে একে বন্ধ করে দেওয়ার বিপরীতে জার্নালিং মোড পরিবর্তন করার পয়েন্টটির কোনও ধারণা নেই, তবে এটির বুদ্ধিও কম less সুতরাং জার্নাল বিকল্পগুলি কি কি বিন্দু অর্থহীন তা বর্ণনা করে।
পোজ

3
বিভিন্ন জার্নাল মোডগুলি বিভিন্ন সিপিইউ আচরণগুলি প্রদর্শন করে। কিছু পরীক্ষা এখানে
coredump

1
@coredump, এখনো অর্থহীন । বিভিন্ন জার্নালিং মোডের জন্য সিপিইউ ব্যবহার দেখাচ্ছে এমন কোনও গ্রাফ নেই, কেবল থ্রুপুট। সিপিইউর ব্যবহারের গ্রাফটি কেবলমাত্র FSes এর মধ্যে পার্থক্য দেখায়। এছাড়াও, এই গ্রাফটিতে EXT3 এবং Reiser3 এর মধ্যে একটি তাত্পর্যপূর্ণ পার্থক্য নির্ণয় করা হয়েছে তা পরিষ্কার হয়ে গেছে যে সামগ্রিক এবং গড় সিপিইউ পদচিহ্ন বিশ্লেষণ করা হয়েছে, যেখানে @ ভাইরাপটরের কেজর্নাল্ড ক্রিয়াকলাপ রয়েছে।
পোজ

আমরা তখন একমত হতে রাজি হবে। কেবলমাত্র তার পরিবেশে পরীক্ষা করা দেখায় সিপিইউ ব্যবহারের ক্ষেত্রে কোনও পার্থক্য রয়েছে কি না। এছাড়াও আমি রেইজারএফএসের পরামর্শ দেব না, যেহেতু সরকার এফএস লেখকের স্থায়ী লক পেয়েছে :)।
coredump

8
এখানে, এই কাপ রসিকতাটি নিন: \
coredump

4

ডিফল্টরূপে আপনার ext3 ফাইল সিস্টেমটি টাইমস চালু হওয়ার সাথে মাউন্ট হতে চলেছে। প্রতিবার কোনও ফাইল বা ডিরেক্টরি পড়লে / অ্যাক্সেস করা হয় ফাইলটাইমকে এই টাইম রেকর্ডটি আপডেট করতে ডিস্কে আবার লিখতে হবে। এর অর্থ হ'ল এমনকি যদি আপনার কাজের চাপটি বেশিরভাগ ভিত্তিতে পড়া হয় তবে আপনাকে প্রতিটি ফাইল ও ডিরেক্টরিতে অ্যাক্সেসের সময় আপডেট করার জন্য ডিস্কগুলি আঘাত করতে হবে এবং আপনার kjournaldপ্রক্রিয়াটি এতগুলি ব্লক কেন লিখছিল তা সম্পর্কে আমার ধারণা ।

এটাইমস বন্ধ করা পারফরম্যান্সে একটি বড় উত্সাহ অর্জন করবে তবে পসিক্স সম্মতি ভঙ্গ করবে। পরীক্ষা করে দেখুন এই Wikipedia নিবন্ধটি atime এর সমালোচনা কাছাকাছি কিছু আলোচনার জন্য।

টাইমস বন্ধ করতে কেবল noatimeআপনার ফাইল সিস্টেমের মাউন্ট অপশনগুলিতে যুক্ত করুন, বা পোয়েজের পরামর্শ অনুসারে আপনি পুনঃনির্মাণ করতে পারেন। আপনার মূল ফাইল সিস্টেমের জন্য এখানে একটি উদাহরণ রয়েছে:

mount -o remount,noatime /

3
লক্ষ্য করুন আরো সাম্প্রতিক কার্নেলের ডিফল্ট relatimeযার মধ্যে একটি গ্রহণযোগ্য সমঝোতা হবে বলে মনে হয় noatimeএবং atime
অলিভার

1

যদি ডেটার নিখুঁততা গুরুত্বপূর্ণ না হয়: এটি করুন

iostat -o -a

এটি নিশ্চিতভাবে জার্নালড হয়েছে তা নিশ্চিত করুন। এটি আমার সার্ভারকে ক্রাশ করার কারণ।

এসএসডি-তে হার্ড ড্রাইভ পরিবর্তন করা কাজ করবে।

আপনি যখন দেখেন যে কাজজার্নাল্ড 5-10MB ডেটা করছেন

http://ubuntuforums.org/showthread.php?t=56621

sudo tune2fs -O ^has_journal /dev/sda1
sudo e2fsck /dev/sda1

যেখানে sda1 আপনার পার্টিশনের নাম

মন্তব্যে ফলাফলের প্রতিবেদন করুন যাতে আমি আরও চেক করতে পারি।


3
আপনার মানে আইওটপ, আইওস্ট্যাট নয়, তাই না?
জো নিল্যান্ড

0

করার উদ্দেশ্যে নয়, কেবল উল্লেখ করার জন্য:

  1. mount -oremount,noatime /fs/being_over/journaled- দ্রুত অনুমান-শট হিসাবে ( mountযাইহোক আপনার চেহারা কেমন তা আমাদের দেখাননি )
  2. জার্নালের আকার হ্রাস করার চেষ্টা করুন ( tune2fs -J …)
  3. রিজার 3 এ স্যুইচ করুন (বেশ দীর্ঘ সময়ের জন্য শক্ত, হ্যাঁ। এবং এরকম কোনও বাজে জার্নালিং কখনও নেই))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.