லினக்ஸில் சுமை சராசரியைப் புரிந்துகொள்வது

Understanding Load Average Linux



சுமை சராசரி என்பது ஒரு கணினி செயலியில் கிடைக்கும் இலவச CPU சுழற்சிகளுக்கு எதிரான வேலையின் அளவை அளவிடுவதாகும். இந்த கட்டுரையில் நான் இந்த வார்த்தையை வரையறுக்கிறேன், லினக்ஸ் இந்த மதிப்பை எவ்வாறு கணக்கிடுகிறது என்பதை நிரூபிக்கிறேன், பின்னர் கணினி சுமையை எவ்வாறு விளக்குவது என்பது பற்றிய நுண்ணறிவை வழங்குவேன்.

நாம் லினக்ஸ் சுமை சராசரிக்குள் நுழைவதற்கு முன், சுமை கணக்கிடப்படும் பல்வேறு வழிகளை நாம் ஆராய வேண்டும் மற்றும் CPU சுமை - ஒரு சதவீதத்தின் மிக பொதுவான அளவீட்டை நிவர்த்தி செய்ய வேண்டும்.







விண்டோஸ் லினக்ஸிலிருந்து வித்தியாசமாக சுமை கணக்கிடுகிறது, மேலும் டெஸ்க்டாப்பில் விண்டோஸ் வரலாற்று ரீதியாக மிகவும் பிரபலமாக இருப்பதால், விண்டோஸ் சுமை வரையறை பொதுவாக பெரும்பாலான கணினி பயனர்களால் புரிந்து கொள்ளப்படுகிறது. பெரும்பாலான விண்டோஸ் பயனர்கள் டாஸ்க் மேனேஜரில் சிஸ்டம் லோடை 0% முதல் 100% வரை சதவிகிதமாகக் காட்டுகிறார்கள்.



விண்டோஸில் இது எவ்வளவு பிஸியாக இருக்கிறது என்பதை ஆராய்வதன் மூலம் பெறப்படுகிறது கணினி செயலற்ற செயல்முறை மற்றும் கணினி சுமை பிரதிநிதித்துவம் தலைகீழ் பயன்படுத்தி. எடுத்துக்காட்டாக, செயலற்ற நூல் 99% நேரத்தை இயக்கினால், விண்டோஸில் CPU சுமை 1% ஆக இருக்கும். இந்த மதிப்பைப் புரிந்துகொள்வது எளிது ஆனால் கணினியின் உண்மை நிலை பற்றிய ஒட்டுமொத்த விவரங்களை குறைவாக வழங்குகிறது.



லினக்ஸில், சுமை சராசரி என்பது 0.00 இல் தொடங்கும் தசம எண்ணால் குறிக்கப்படுகிறது. கடந்த நிமிடத்தில் செயல்முறைகளின் எண்ணிக்கையாக மதிப்பை தோராயமாக வரையறுக்கலாம், அவை செயல்படுத்தப்படுவதற்கு காத்திருக்க வேண்டியிருந்தது. விண்டோஸ் போலல்லாமல், லினக்ஸ் சுமை சராசரி உடனடி அளவீடு அல்ல. சுமை மூன்று மதிப்புகளில் கொடுக்கப்பட்டுள்ளது - ஒரு நிமிட சராசரி, ஐந்து நிமிட சராசரி மற்றும் பதினைந்து நிமிட சராசரி.





லினக்ஸில் சுமை சராசரியைப் புரிந்துகொள்வது

முதலில், உங்கள் கணினியில் CPU லோட்டின் தற்போதைய நிலையை நீங்கள் தெரிந்து கொள்ள விரும்பினால் இந்த கூடுதல் விவர அடுக்கு தேவையற்றதாக தோன்றுகிறது. ஆனால் உடனடி அளவீட்டை விட மூன்று கால இடைவெளிகளின் சராசரி கொடுக்கப்பட்டிருப்பதால், மூன்று எண்களின் ஒரே பார்வையில் காலப்போக்கில் கணினி சுமையின் மாற்றம் பற்றிய முழுமையான யோசனையை நீங்கள் பெறலாம்

சுமை சராசரியைக் காண்பிப்பது எளிது. கட்டளை வரியில், நீங்கள் பல்வேறு கட்டளைகளைப் பயன்படுத்தலாம். நான் வெறுமனே w கட்டளையைப் பயன்படுத்துகிறேன்:



வேர்@கன்னி[]# இல்
இருபத்து ஒன்று: 08:43வரை38நாட்கள்,4:3. 4,4 பயனர்கள்சுமை சராசரி:3.11,2.75,2.70

மீதமுள்ள கட்டளை யார் உள்நுழைந்திருக்கிறார்கள் மற்றும் அவர்கள் எதைச் செயல்படுத்துகிறார்கள் என்பதைக் காண்பிக்கும், ஆனால் எங்கள் நோக்கங்களுக்காக இந்தத் தகவல் பொருத்தமற்றது, எனவே நான் அதை மேலே உள்ள காட்சியில் இருந்து கிளிப் செய்தேன்.

ஒரு சிறந்த அமைப்பில், எந்தவொரு செயல்முறையும் மற்றொரு செயல்முறையால் (அல்லது நூல்) நடத்தப்படக்கூடாது, ஆனால் ஒற்றை செயலி அமைப்பில், சுமை 1.00 க்கு மேல் செல்லும் போது இது நிகழ்கிறது.

ஒற்றை செயலி அமைப்பு என்ற வார்த்தைகள் இங்கே நம்பமுடியாத அளவிற்கு முக்கியம். நீங்கள் ஒரு பழைய கணினியை இயக்கும் வரை, உங்கள் இயந்திரத்தில் பல CPU கோர்கள் இருக்கலாம். நான் இருக்கும் இயந்திரத்தில், என்னிடம் 16 கோர்கள் உள்ளன:

வேர்@கன்னி[]# nproc
16

இந்த வழக்கில், ஒரு சுமை சராசரியாக 3.11 ஒன்றும் பயமாக இல்லை. இதன் பொருள் மூன்று செயல்முறைகளை விட சற்று அதிகமாக இயங்கத் தயாராக இருந்தது மற்றும் CPU கோர்கள் அவற்றின் செயல்பாட்டைக் கையாள இருந்தன. இந்த குறிப்பிட்ட அமைப்பில், சுமை 100 ஐக் கருத்தில் கொள்ள 16 ஐ எட்ட வேண்டும்.

இதை ஒரு சதவிகித அடிப்படையிலான கணினி ஏற்றத்திற்கு மொழிபெயர்க்க, நீங்கள் இந்த எளிய, தடையில்லாமல், கட்டளையைப் பயன்படுத்தலாம்:

பூனை /சதவீதம்/loadavg| வெட்டு -சி 1-4 | வெளியே எறிந்தார் 'அளவுகோல் = 2; ($ (/`nproc`) * 100 ' | பிசி -தி

இந்த கட்டளை வரிசைகள் வெட்டு வழியாக 1 நிமிட சராசரியை தனிமைப்படுத்தி அதை எதிரொலிக்கிறது, சிபியு கோர்களின் எண்ணிக்கையால் வகுக்கப்படுகிறது, பிசி, கட்டளை வரி கால்குலேட்டர், சதவீதத்தை பெற.

இந்த மதிப்பு எந்த வகையிலும் அறிவியல் பூர்வமானது அல்ல, ஆனால் CPU சுமை விகிதத்தை தோராயமாக அளிக்கிறது.

கற்றுக்கொள்ள ஒரு நிமிடம், மாஸ்டருக்கு ஒரு வாழ்நாள்

முந்தைய பகுதியில், 16.0 சுமைக்கான 16% சுமையை 16 சிபியு கோர் சிஸ்டத்தில் மேற்கோள்களாக வைத்துள்ளேன், ஏனெனில் லினக்ஸில் சுமை கணக்கீடு விண்டோஸை விட சற்று அதிகமாக உள்ளது. கணினி நிர்வாகி இதை மனதில் கொள்ள வேண்டும்:

  • காத்திருக்கும் செயல்முறைகள் மற்றும் இழைகளில் சுமை வெளிப்படுத்தப்படுகிறது
  • இது ஒரு உடனடி மதிப்பு அல்ல, மாறாக சராசரி, மற்றும்
  • அதன் விளக்கத்தில் CPU கோர்களின் எண்ணிக்கை இருக்க வேண்டும், மற்றும்
  • வட்டு படிப்பது போல் I/O அதிகமாக ஊதி இருக்கலாம்

இதன் காரணமாக, ஒரு லினக்ஸ் கணினியில் CPU சுமை ஒரு கைப்பிடியைப் பெறுவது முற்றிலும் அனுபவபூர்வமான விஷயம் அல்ல. அது இருந்தாலும்கூட, CPU சுமை மட்டும் ஒட்டுமொத்த கணினி வளப் பயன்பாட்டின் போதுமான அளவீடு அல்ல. அதுபோல, அனுபவமிக்க லினக்ஸ் நிர்வாகி CPU சுமை I/O காத்திருப்பு மற்றும் கர்னல் மற்றும் கணினி நேரத்தின் சதவீதம் போன்ற பிற மதிப்புகளுடன் இணைந்து கருதுவார்.

நான்/ஓ காத்திருங்கள்

I/O காத்திருப்பு மேல் கட்டளை வழியாக மிக எளிதாகக் காணப்படுகிறது:

மேலே உள்ள ஸ்கிரீன்ஷாட்டில் நான் I/O காத்திருப்பு மதிப்பை முன்னிலைப்படுத்தியுள்ளேன். CPU ஆனது நிறைவு செய்ய உள்ளீடு அல்லது வெளியீடு கட்டளைகளுக்காக காத்திருந்த நேரத்தின் சதவீதமாகும். இது பொதுவாக உயர் வட்டு செயல்பாட்டைக் குறிக்கிறது. அதிக காத்திருப்பு சதவிகிதம் மட்டுமே CPU- பிணைக்கப்பட்ட பணிகளை கணிசமாக குறைக்காது என்றாலும், இது மற்ற பணிகளுக்கான I/O செயல்திறனைக் குறைக்கும் மற்றும் கணினியை மந்தமாக உணர வைக்கும்.

எந்த வெளிப்படையான காரணமும் இல்லாமல் அதிக I/O காத்திருத்தல் ஒரு வட்டில் சிக்கலைக் குறிக்கலாம். ஏதேனும் பிழைகள் ஏற்பட்டதா என்று பார்க்க dmesg கட்டளையைப் பயன்படுத்தவும்.

கர்னல் எதிராக கணினி நேரம்

மேலே குறிப்பிட்டுள்ள மதிப்புகள் பயனர் மற்றும் கர்னல் நேரத்தை குறிக்கிறது. இது பயனர்கள் (அதாவது பயன்பாடுகள், முதலியன) மற்றும் கர்னல் (அதாவது கணினி சாதனங்களுடனான தொடர்பு) மூலம் CPU நேரத்தின் ஒட்டுமொத்த நுகர்வு முறிவு ஆகும். அதிக கர்னல் நேரம் அதிக கணினி-நிலை செயலாக்கத்தைக் குறிக்கும் நிரல்களால் அதிக பயனர் நேரம் அதிக CPU பயன்பாட்டைக் குறிக்கும்.

நியாயமான சராசரி சுமை

உண்மையான கணினி செயல்திறனுடன் சுமை சராசரியின் உறவைக் கற்றுக்கொள்ள நேரம் எடுக்கும், ஆனால் நீண்ட காலத்திற்கு முன்பே நீங்கள் ஒரு தனித்துவமான தொடர்பைக் காண்பீர்கள். கணினி செயல்திறன் அளவீடுகளின் சிக்கல்களுடன் ஆயுதம் ஏந்திய நீங்கள் வன்பொருள் மேம்பாடு மற்றும் நிரல் வளப் பயன்பாடு பற்றி சிறந்த முடிவுகளை எடுக்க முடியும்.