எப்படி மற்றும் ஏன் noatime விருப்பம் லினக்ஸ் கணினிகளின் செயல்திறனை மேம்படுத்துகிறது

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

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

ஒரு முறை லினக்ஸில் உள்ள கோப்புகளுக்கான மூன்று நேர முத்திரைகளில் ஒன்றாகும் (இது பற்றி பின்னர்). குறிப்பாக, சமீபத்திய லினக்ஸ் கணினிகளில் நேரத்தை முடக்குவது இன்னும் நல்ல யோசனையாக இருக்குமா என்று நான் யோசித்துக்கொண்டிருந்தேன். கோப்பு அணுகப்படும் ஒவ்வொரு முறையும் நேரம் புதுப்பிக்கப்படுவதால், இது கணினி செயல்திறனில் குறிப்பிடத்தக்க தாக்கத்தை ஏற்படுத்துகிறது என்பதை உணர்ந்தேன்.
நான் சமீபத்தில் Fedora 32 க்கு மேம்படுத்தினேன், மேலும், வழக்கத்திற்கு மாறாக, நேரத்தை முடக்குவதன் மூலம் தொடங்கினேன். நான் நினைத்தேன்: எனக்கு இது உண்மையில் தேவையா? நான் இந்த சிக்கலைப் படிக்க முடிவு செய்தேன், இதைத்தான் நான் தோண்டி எடுத்தேன்.

கோப்பு நேர முத்திரைகள் பற்றி கொஞ்சம்

அதைக் கண்டுபிடிக்க, நீங்கள் ஒரு படி பின்வாங்கி, லினக்ஸ் கோப்பு முறைமைகள் மற்றும் கர்னல் டைம்ஸ்டாம்ப் கோப்புகள் மற்றும் கோப்பகங்களைப் பற்றிய சில விஷயங்களை நினைவில் கொள்ள வேண்டும். கட்டளையை இயக்குவதன் மூலம் கோப்புகள் மற்றும் கோப்பகங்களின் கடைசியாக மாற்றியமைக்கப்பட்ட தேதியை நீங்கள் பார்க்கலாம் ls -l (நீண்ட) அல்லது கோப்பு மேலாளரில் அதைப் பற்றிய தகவலைப் பார்ப்பதன் மூலம். ஆனால் திரைக்குப் பின்னால், லினக்ஸ் கர்னல் கோப்புகள் மற்றும் கோப்பகங்களுக்கான பல நேர முத்திரைகளைக் கண்காணிக்கிறது:

  1. கோப்பு கடைசியாக எப்போது மாற்றப்பட்டது (mtime)
  2. கோப்பு பண்புகள் மற்றும் மெட்டாடேட்டா கடைசியாக எப்போது மாற்றப்பட்டது (ctime)
  3. கோப்பு கடைசியாக எப்போது அணுகப்பட்டது (நேரம்)
  4. நீங்கள் கட்டளையைப் பயன்படுத்தலாம் மாநிலகோப்பு அல்லது அடைவு பற்றிய தகவலைப் பார்க்க. இதோ கோப்பு / Etc / fstab க்கு எனது சோதனை சேவையகங்களில் ஒன்றிலிருந்து:

$ stat fstab
  File: fstab
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2097285     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2019-04-25 21:10:18.083325111 -0500
Modify: 2019-05-16 10:46:47.427686706 -0500
Change: 2019-05-16 10:46:47.434686674 -0500
 Birth: 2019-04-25 21:03:11.840496275 -0500

நான் கணினியை நிறுவிய போது இந்த கோப்பு ஏப்ரல் 25, 2019 அன்று உருவாக்கப்பட்டது என்பதை இங்கே பார்க்கலாம். எனது கோப்பு / Etc / fstab க்கு கடைசியாக மே 16, 2019 அன்று மாற்றப்பட்டது, மற்ற எல்லா பண்புக்கூறுகளும் அதே நேரத்தில் மாற்றப்பட்டன.

நான் நகலெடுத்தால் / Etc / fstab க்கு ஒரு புதிய கோப்பில், அது ஒரு புதிய கோப்பு என்பதைக் குறிக்கும் தேதிகள் மாறும்:

$ sudo cp fstab fstab.bak
$ stat fstab.bak
  File: fstab.bak
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:53:58.443659981 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

ஆனால் நான் கோப்பின் உள்ளடக்கங்களை மாற்றாமல் மறுபெயரிட்டால், கோப்பு மாற்றப்பட்ட நேரத்தை மட்டுமே Linux புதுப்பிக்கும்:

$ sudo mv fstab.bak fstab.tmp
$ stat fstab.tmp
  File: fstab.tmp
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:54:24.576508232 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

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

உங்கள் இன்பாக்ஸில் புதிய அஞ்சல் இருந்தால் நிரலுக்கு எப்படித் தெரியும்? biff கடைசியாக மாற்றியமைக்கப்பட்ட நேரத்தையும் (புதிய மின்னஞ்சல் செய்தியுடன் இன்பாக்ஸ் கோப்பு புதுப்பிக்கப்பட்டபோது) மற்றும் கடைசி அணுகல் நேரத்தையும் (உங்கள் மின்னஞ்சலை கடைசியாகப் படித்தது) ஒப்பிடுகிறது. அணுகலுக்குப் பிறகு மாற்றம் ஏற்பட்டால், புதிய கடிதம் வந்துள்ளது என்பதை biff புரிந்துகொண்டு அதைப் பற்றி உங்களுக்குத் தெரிவிக்கும். மட் மின்னஞ்சல் கிளையண்ட் அதே வழியில் செயல்படுகிறது.

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

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

"ஒவ்வொரு லினக்ஸ் டெஸ்க்டாப் மற்றும் சர்வரும் நிலையான நேர புதுப்பிப்புகளால் குறிப்பிடத்தக்க I/O செயல்திறன் சிதைவை சந்திப்பது மிகவும் விசித்திரமானது, இரண்டு உண்மையான பயனர்கள் மட்டுமே இருந்தாலும்: tmpwatch [இது ctime ஐப் பயன்படுத்த உள்ளமைக்கப்படலாம், எனவே இது ஒரு பெரிய பிரச்சனை அல்ல] மற்றும் சில காப்பு கருவிகள்."

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

சாலமன் தீர்வு

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

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

முந்தைய அணுகல் நேரம் தற்போதைய மாற்றம் அல்லது நிலை மாற்ற நேரத்தை விட குறைவாக இருந்தால் மட்டுமே atime புதுப்பிக்கப்படும்... Linux 2.6.30 முதல், கர்னல் இந்த விருப்பத்தை முன்னிருப்பாகப் பயன்படுத்துகிறது (noatime குறிப்பிடப்படாவிட்டால்)... மேலும், Linux 2.6.30 லிருந்து. 1, கோப்பின் கடைசி அணுகல் நேரம் XNUMX நாளுக்கு மேல் பழையதாக இருந்தால் எப்போதும் புதுப்பிக்கப்படும்.

நவீன லினக்ஸ் அமைப்புகள் (2.6.30 இல் வெளியிடப்பட்ட லினக்ஸ் 2009 முதல்) ஏற்கனவே ரிலேடைமைப் பயன்படுத்துகின்றன, இது ஒரு பெரிய செயல்திறன் ஊக்கத்தை அளிக்கும். இதன் பொருள் நீங்கள் கோப்பை உள்ளமைக்க தேவையில்லை / Etc / fstab க்கு, மற்றும் ரிலேடைம் மூலம் நீங்கள் இயல்புநிலையை நம்பலாம்.

noatime உடன் கணினி செயல்திறனை மேம்படுத்துதல்

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

மிக வேகமான நவீன டிரைவ்களில் (NVME அல்லது Fast SSD போன்றவை) செயல்திறன் மாற்றம் மிகவும் கவனிக்கப்படாமல் இருக்கலாம், ஆனால் அங்கு சிறிய அதிகரிப்பு உள்ளது.

நேரம் தேவைப்படும் மென்பொருளை நீங்கள் பயன்படுத்தவில்லை என்பது உங்களுக்குத் தெரிந்தால், கோப்பில் noatime விருப்பத்தை இயக்குவதன் மூலம் செயல்திறனை சிறிது மேம்படுத்தலாம் /etc/fstab. இதற்குப் பிறகு, கர்னல் தொடர்ந்து நேரத்தை புதுப்பிக்காது. கோப்பு முறைமையை ஏற்றும்போது noatime விருப்பத்தைப் பயன்படுத்தவும்:

/dev/mapper/fedora_localhost--live-root /          ext4   defaults,noatime,x-systemd.device-timeout=0 1 1
UUID=be37c451-915e-4355-95c4-654729cf662a /boot    ext4   defaults,noatime        1 2
UUID=C594-12B1                          /boot/efi  vfat   umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home      ext4   defaults,noatime,x-systemd.device-timeout=0 1 2
/dev/mapper/fedora_localhost--live-swap none       swap   defaults,x-systemd.device-timeout=0 0 0

அடுத்த முறை நீங்கள் மறுதொடக்கம் செய்யும் போது மாற்றங்கள் நடைமுறைக்கு வரும்.

விளம்பரம் உரிமைகள் மீது

உங்கள் இணையதளத்தை ஹோஸ்ட் செய்ய சர்வர் வேண்டுமா? எங்கள் நிறுவனம் வழங்குகிறது நம்பகமான சர்வர்கள் தினசரி அல்லது ஒரு முறை கட்டணம் செலுத்துவதன் மூலம், ஒவ்வொரு சேவையகமும் 500 மெகாபிட் இணைய சேனலுடன் இணைக்கப்பட்டுள்ளது மற்றும் இலவசமாக DDoS தாக்குதல்களுக்கு எதிராக பாதுகாக்கப்படுகிறது!

எப்படி மற்றும் ஏன் noatime விருப்பம் லினக்ஸ் கணினிகளின் செயல்திறனை மேம்படுத்துகிறது

ஆதாரம்: www.habr.com

கருத்தைச் சேர்