আমি কীভাবে ক্লক ড্রিফটকে পরিমাপ করতে এবং আটকাতে পারি?


15

বেশ কয়েকটি প্রোডাকশন প্ল্যাটফর্মে আমরা এমন লক্ষণগুলি পর্যবেক্ষণ করেছি যেগুলি থেকে বোঝা যায় যে দিনের ঘড়ির সময় পর্যায়ক্রমে সামনের দিকে বা পিছনে পিছনে চলেছে। জাম্পগুলি সাধারণত 1 সেকেন্ডের কাছাকাছি থাকে, সাধারণত বাতিল হয়ে যায় (তারপরে খুব তাড়াতাড়ি পিছনে পিছনে ঝাঁপ দাও) এবং প্রতিদিন প্রায় 50 বার ঘটে। এই প্রবাহটি পিক অ্যাপ্লিকেশন ব্যবহারের সময় এবং প্রতিদিনের ব্যাকআপের মতো হাই ডিস্ক আই / ও ক্রিয়াকলাপগুলির মধ্যে সবচেয়ে বেশি লক্ষণীয়। এই প্রবাহগুলি আমাদের নরম রিয়েল-টাইম সংবেদনশীল অ্যাপ্লিকেশনটিকে প্রভাবিত করছে।

সিস্টেমগুলি ওরেकल নেটরা এক্স 4250 এবং নেত্রা এক্স 4270 সার্ভারগুলি এসএলইএস 11 এসএসপি 2 চলছে 3.0.58-0.6.6- ডিফল্ট কার্নেল দিয়ে।

$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm

$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

আমরা এনটিপি নিষ্ক্রিয় করেছি , তবে এর প্রবাহে কোনও প্রভাব পড়েনি। এমন কি সরঞ্জাম আছে যা দিনের ঘড়ি প্রবাহের সময়কে মাপ দেয়? আমরা কীভাবে এড়াতে পারি?

এগুলি প্রোডাকশন প্ল্যাটফর্ম এবং আমরা আমাদের ল্যাবগুলিতে বিষয়টি পুনরায় তৈরি করতে পারি না, তাই আমার পরীক্ষার ক্ষমতা সীমিত। তাহলে আমার নিজের ডিভাইসে ছেড়ে, আমি পুরা মাপ ড্রিফট করার জন্য একটি টুল লিখতে হবে, এবং সম্ভবত একটি নিয়ে পরীক্ষা HPET clocksource।


5
এনটিপি অক্ষম করা ঘড়িগুলি অনেক বেশি অস্থির করে তোলে ... কেবলমাত্র এনটিপিকে ঘড়িটি লাইনে না রাখার একমাত্র কারণ হ'ল ঘড়ির কাঁটাচামচ নেই, এবং এনটিপি এটি আপডেট করতে অস্বীকার করেছে (দেখুন ntpdate(8)বা দেখুন ntpd(8))।
ভোনব্রান্ড

1
এনটিপিডি ট্র্যাক করে এবং ক্লক ড্রিফ্টের জন্য সঠিক করে, তবে যা আপনার কাছে নেই তা ড্রিফ্ট। সময়ের সাথে মোটামুটি একই পরিমাণে বামনা ধারাবাহিকভাবে একই দিকে থাকে। যদি এটি এলোমেলোভাবে সামনের দিকে এবং পিছনে লাফিয়ে যায় তবে এটি পূর্বাভাস দেওয়ার কোনও উপায় নেই এবং এটির জন্য উপযুক্ত স্থান রয়েছে।
প্যাট্রিক

1
@ পেট্রিক যা বলেছিলেন তা ঠিক, আপনি যে সমস্যাটি বর্ণনা করেছেন তা হ'ল সামনের দিন এবং এক পিছনে পিছনে পিছনে সময় প্রতি একাধিকবার বিচ্ছিন্ন লাফ। এনটিপি প্রবাহে ভাল কাজ করে তবে এটি আপনাকে এগুলি খুব বেশি সহায়তা করবে না। কিছু সম্ভবত আপনার সিস্টেমের তারিখটিকে কোনও বাহ্যিক সময় উত্সে পুনরায় সেট করে যা সম্ভবত কেবলমাত্র 1 সেকেন্ড রেজোলিউশন রয়েছে। আপনার সার্ভারগুলি x86 * হলে হার্ডওয়্যার আরটিসি হতে পারে উত্স এবং কিছু ক্রোন জব অপরাধী। ব্রাচলির এনটিপিডিট উত্তরটি অফসেট ক্লক হিসাবে যতটা ভাল স্ট্র্যাটাম 1 ক্লক রেফারেন্স ব্যবহৃত হয় তা যুক্তিসঙ্গত পন্থা: এক মিনিটে একবার চালান এবং ফলাফলটির জন্য gnuplot করুন।
duanev

1
নতুন সার্ভারে শুরু হওয়া এনটিপি-র এই মূল্যায়ন জুড়ে ( drdobbs.com / এম্বেডড সিস্টেমস /… ) Ran একটি নতুন স্ফটিক শিখতে এনটিপি ঘন্টা লাগে। সত্যিই খারাপ স্ফটিকগুলির জন্য এনটিপিকে প্রশিক্ষণের সময় একাধিকবার উল্লেখযোগ্য পরিমাণে ঘড়ির 'পদক্ষেপ' করতে হবে (সেই নিবন্ধে ডুমুর 4 এবং 5 দেখুন)। 118ppm এর ntp.drift এ একটি চূড়ান্ত মান প্রতি 10 মিনিট বা প্রতি 30 মিনিটে 208 মিমি। যদিও ওপি এটি দেখছিল তা নয়, এনটিপি প্রাথমিকভাবে সময়মতো লক্ষণীয় লাফিয়ে উঠতে পারে।
দুআনেভ

উত্তর:


8

এমন কি সরঞ্জাম আছে যা দিনের ঘড়ি প্রবাহের সময়কে মাপ দেয়?

কেবলমাত্র আমি যে সরঞ্জামগুলির সম্পর্কে সচেতন সেগুলি হ'ল এনটিপি সরঞ্জামগুলি যা যথেষ্ট। প্রদত্ত ক্লক উত্সটির সাথে সিঙ্ক করতে আপনাকে আসলে এনটিপিডি কনফিগার করতে হবে না আপনি গণনা করা অফসেট আনার জন্য -dবিকল্পটি ব্যবহার করতে পারেন ntpdate

উদাহরণ:

[davisja5@xxxadmvlm08 ~]$ ntpdate -d clock.redhat.com 2>/dev/null | egrep "^offset"
offset -0.004545
[davisja5@xxxadmvlm08 ~]$

-d ডিবাগ বিকল্প যা এনটিপি আসলে সিস্টেমের ঘড়ির স্পর্শ না করে কাজ করে।

আমরা কীভাবে এড়াতে পারি তার কোনও পরামর্শ?

আমি খুব অবাক হইনি যে আপনি এটি ডিভ / টেস্ট পরিবেশে পুনরুত্পাদন করতে পারবেন না কারণ সম্ভবত এটি কেবল হার্ডওয়ার ঘড়ির কারণে। কারও সাথে যদি আপনার হার্ডওয়্যার সমর্থন থাকে তবে আমি আপনার মেশিনগুলি পরিবেশন করার চেষ্টা করব। একটি সম্ভাবনা এই প্রোডাকশন মেশিনের জন্য একটি ডিভ মেশিনের সাথে ব্যবসা করে, প্রাক্তন পিআরডি সিস্টেমগুলি ঠিক করে এবং এখন পিআরডিতে থাকা একটিটিকে প্রতিস্থাপনের জন্য এটি একটি দেব মেশিন হিসাবে পুনরায় পরিচয় করিয়ে দিচ্ছে।

এর মধ্যে সংক্ষিপ্তসার, হার্ডওয়ার ক্লক উত্সটি স্যুইচ করা আপনি যা করতে পারেন তা প্রায়। আপনি যদি স্বাপের জিনিসটি না করেন বা না করতে পারেন তবে আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি হাপ্পের পথে যাবেন। ঘড়ির উত্স সিস্টেম পরিষেবাদির সাথে মেস পরিবর্তন করে কিনা তা পরীক্ষা করে দেখতে পারেন এবং তারপরে এটিকে শিলাবৃষ্টি হিসাবে উত্পাদনতে স্থাপন করতে পারেন lo


"পরিমাপ ক্লক ড্রিফ্ট" দ্বারা, আমার অর্থ কোনও রেফারেন্স সময় উত্স থেকে চালিত হওয়া নয়, যেমন এনটিপি আপনাকে দেয়। আমি এমন একটি সরঞ্জাম বুঝিয়েছি যা একটি অবিচ্ছিন্ন সময়সীমা পেরিয়ে দিনের ঘড়ির সময় "জাম্প" সনাক্ত করতে পারে। উদাহরণস্বরূপ, প্রতি 50 মিমি দিনে দিনের নমুনা নেওয়ার সময় নিন এবং সর্বশেষ নমুনা থেকে পার্থক্য 50 মিমি থেকে খুব দূরে থাকলে রিপোর্ট করুন। দিনের কোনও সময় কোনও কারণে অন্তর্নিহিত হার্ডওয়্যার ঘড়ি থেকে প্রবাহিত হচ্ছে কিনা এমন কোনও সরঞ্জামটি দেখায়।
ব্রেট 21

1
এই ধরনের হস্তক্ষেপের উপস্থিতি সমস্যার সমাধানের প্রত্যাশার চেয়ে আরও বেশি কর্মক্ষমতা হ্রাস পেতে পারে না? যদিও সমস্ত সম্ভাবনার মধ্যে এটি একটি হার্ডওয়্যার সমস্যা, সুতরাং আপনার এই সমস্যাটি ছাড়াই হার্ডওয়্যারটি পরিষেবা দেওয়া বা একটি ঘড়ির উত্স ব্যবহার করা দরকার। tscসিপিইউতে ভিত্তি করে তৈরি করা হয়েছে যাতে এটি বোঝা যায় যে উচ্চতর সিপিইউ ক্রিয়াকলাপ যে কোনওভাবেই হার্ডওয়ার ঘড়ি নিয়ে কোনও সমস্যা ট্রিগার করবে। যদি হিপেট আপনার পক্ষে যথেষ্ট দ্রুত হয়, তবে আপনাকে কেবল এটি চেষ্টা করতে হবে, সার্ভিস করতে হবে বা অদলবদল করতে হবে। এগুলি কেবলমাত্র আপনার জন্য আমি দেখতে পাচ্ছি options
ব্র্যাচলে

3

একটি সমাধান ব্যবহার করা হয় HPET

আরও দেখুন উচ্চ স্পষ্টতা ইভেন্ট টাইমার

এটি বুট প্যারামিটার ব্যবহার হিসাবে সেট করতে

clocksource=hpet

পুরানো হার্ডওয়্যারে TSCপ্রায়শই অস্থির থাকত এবং কার্নেল দ্বারা অক্ষম করা হত।

মাল্টি-কোর / হাইপার-থ্রেডেড সিপিইউ, একাধিক সিপিইউযুক্ত সিস্টেম এবং হাইবারনেটিং অপারেটিং সিস্টেমের আবির্ভাবের সাথে, টিএসসি সঠিক ফলাফল সরবরাহ করার জন্য নির্ভর করা যায় না ...

উইকিপিডিয়া: টাইম স্ট্যাম্প কাউন্টার


ক্লক জিটারের লক্ষণগুলি প্রদর্শন করে এমন একটি প্রোডাকশন সিস্টেমে আমি ক্লকসোর্সটি হাপেটে স্যুইচ করেছিলাম। পর্যবেক্ষণ করা ঘড়ির ঝাঁকুনির লক্ষণগুলিতে এটির কোনও প্রভাব ছিল না।
ব্রেকেট

এইচপিইটি হ'ল বহিরাগত হার্ডওয়্যার টাইমার এবং জিটার করতে পারে না। সুতরাং এই সমাধানটি একটি ভুল পথ বলে মনে হচ্ছে। পুরানো হার্ডওয়্যার বিশেষত ভার্চুয়ালাইজেশন ব্যবহার করার সময় প্রচুর সময়সীমার সমস্যা ছিল। আপনি কি বিভিন্ন সফ্টওয়্যার দিয়ে এটি পরীক্ষা করেছেন?

1

আমি আমাদের অ্যাপ্লিকেশন দ্বারা প্রদর্শিত দেরী লক্ষণগুলির সাথে ঘড়ির পরিমাপের সাথে সম্পর্কিত করতে আরও একটি বিশদ সরঞ্জাম লিখেছি। এই সরঞ্জামটি আমার আগে দিনের ঘড়ির সময় লিনাক্সের সময় ঘৃণ্য হিসাবে সন্দেহ করেছিল তা প্রত্যাখ্যান করে।

এত দীর্ঘ গল্প সংক্ষেপে, আমার প্রাথমিক অনুমানটি অবৈধ ছিল। তবে আমি উত্তরগুলি এবং লিঙ্কগুলি থেকে লিনাক্স ঘড়িগুলি সম্পর্কে অনেক কিছু শিখেছি, তাই যারা প্রতিক্রিয়া জানিয়েছেন তাদের জন্য ধন্যবাদ!


3
(...) আমার প্রাথমিক অনুমানটি অবৈধ ছিল আপনি কি আমাদের বলতে পারলেন আসল কারণটি কি তখন?
পাইওটর ডব্রোগোস্ট

0

কেউ যদি পরিবর্তন না করে ঘড়ি কি একঘেয়ে হওয়ার কথা? পিছনের লাফানো সম্ভব হবে না। ঘড়িটি সেট করার জন্য অবশ্যই কিছু থাকতে হবে - একটি ক্রোন জব বা অন্য কোনও ডেমন (উদাহরণস্বরূপ একটি কল hwclock --adjust)। আমি মনে করি যে এনটিপি নিজেই প্রবাহের জন্য পরিসংখ্যান আপডেট করে এবং এর জন্য নিয়মিত ক্ষতিপূরণ দেয় এবং আপনি যদি এনটিপি দীর্ঘ সময় ধরে চালাতে ব্যর্থ হন এবং একটি বিশাল অফসেট পেয়ে থাকেন তবে আপনি যদি পুনরায় সেট না হন তবে এটি তার পরে কয়েক দিন সময় ব্যয় করে /etc/adjtime। আপনার কাছে সেট আপের মতো কিছু থাকতে পারে - এমন কিছু যা সময়োপযোগী সময়সীমার পড়তে পারে (এবং ঝাঁপ দেয়)।

ntp আসলে এই সমস্যাটিকে মোকাবেলা করার জন্য বোঝানো হয়েছিল।


এটাই আমি ভেবেছিলাম। হার্ডওয়্যার ক্লক উত্সগুলি সম্পর্কে আমার পড়া পরামর্শ দেয় যে কাউন্টারটি একঘেয়েভাবে বাড়ানো উচিত। যদি এটি সত্য হয় তবে সবচেয়ে খারাপভাবে আমাদের উচিত ইরটিক টিক রেটগুলি পর্যবেক্ষণ করা, তবে কখনই পিছনে লাফ দেয় না। একটি মাল্টিপ্রসেসর সিস্টেমে, আমি বুঝতে পারি যে প্রসেসরের মধ্যে tsc সিঙ্ক্রোনাইজ করা দরকার - সম্ভবত এটিই যা পিছনের দিকে লাফিয়ে উঠছে?
ব্রেকেট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.