ڪيئن ۽ ڇو noatime آپشن لينڪس سسٽم جي ڪارڪردگي کي بهتر بڻائي ٿو

Atime اپڊيٽ سسٽم جي ڪارڪردگي کي متاثر ڪري ٿو. اتي ڇا ٿي رهيو آهي ۽ ان بابت ڇا ڪجي - مضمون پڙهو.

ڪيئن ۽ ڇو noatime آپشن لينڪس سسٽم جي ڪارڪردگي کي بهتر بڻائي ٿو
جڏهن به مان پنهنجي گهر جي ڪمپيوٽر تي لينڪس کي اپڊيٽ ڪندو آهيان، مون کي ڪجهه مسئلا حل ڪرڻا پوندا آهن. ڪيترن سالن کان، اها عادت بڻجي وئي آهي: مان پنهنجي فائلن کي بيڪ اپ ڪريان ٿو، سسٽم کي صاف ڪريان ٿو، هر شي کي شروع کان انسٽال ڪريو، منهنجي فائلن کي بحال ڪريو، پوء منهنجي پسنديده ايپليڪيشنن کي ٻيهر نصب ڪريو. مان پنهنجي لاءِ سسٽم سيٽنگون پڻ تبديل ڪريان ٿو. ڪڏهن ڪڏهن اهو تمام گهڻو وقت وٺندو آهي. ۽ تازو مون حيران ڪيو ته ڇا مون کي هن سر درد جي ضرورت آهي.

هڪ وقت لينڪس ۾ فائلن لاءِ ٽن ٽائم اسٽيمپن مان هڪ آهي (وڌيڪ هن تي بعد ۾). خاص طور تي، مان حيران ٿي چڪو هوس ته اهو اڃا تائين هڪ سٺو خيال هوندو ته وڌيڪ تازو لينڪس سسٽم تي وقت کي غير فعال ڪرڻ. جيئن ته هر وقت فائل تائين پهچندي وقت کي اپڊيٽ ڪيو ويندو آهي، مون محسوس ڪيو ته اهو سسٽم جي ڪارڪردگي تي هڪ اهم اثر آهي.
مون تازو اپڊيٽ ڪيو Fedora 32 ۽، عادت کان ٻاهر، وقت کي غير فعال ڪرڻ شروع ڪيو. مون سوچيو: ڇا مون کي واقعي ان جي ضرورت آهي؟ مون هن مسئلي جو مطالعو ڪرڻ جو فيصلو ڪيو ۽ اهو ئي آهي جيڪو مون ڳايو.

فائل ٽائم اسٽيمپ بابت ٿورڙو

ان کي معلوم ڪرڻ لاءِ، توهان کي هڪ قدم پوئتي وٺڻ جي ضرورت آهي ۽ لينڪس فائل سسٽم بابت ڪجهه شيون ياد رکڻ جي ضرورت آهي ۽ ڪئين ڪنيل ٽائم اسٽيمپ فائلن ۽ ڊائريڪٽرن کي ڪيئن. توھان ڏسي سگھوٿا آخري تبديل ٿيل تاريخ فائلن ۽ ڊائريڪٽرن جي حڪم کي هلائڻ سان ls -l (ڊگهو) يا صرف فائل مئنيجر ۾ ان بابت معلومات کي ڏسڻ سان. پر مناظر جي پويان، لينڪس ڪنييل فائلن ۽ ڊائريڪٽرن لاء ڪيترن ئي ٽائيم اسٽيمپ جي ٽريڪ رکي ٿو:

  1. آخري ڀيرو فائل ڪڏهن تبديل ڪئي وئي (mtime)
  2. آخري وقت جڏهن فائل جا خاصيتون ۽ ميٽا ڊيٽا تبديل ڪيا ويا (ctime)
  3. فائل کي آخري ڀيرو ڪڏهن پهچايو ويو (ڪڏهن)
  4. توهان حڪم استعمال ڪري سگهو ٿا انجنيئر لاپتافائل يا ڊاريڪٽري بابت معلومات ڏسڻ لاءِ. هتي فائل آهي / وغيره / 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 تي ٺاهي وئي هئي جڏهن مون سسٽم نصب ڪيو. منهنجي فائل / وغيره / fstab آخري ڀيرو 16 مئي 2019 تي تبديل ڪيو ويو، ۽ ٻيون سڀئي خاصيتون ساڳئي وقت تبديل ڪيون ويون.

جيڪڏهن مان نقل ڪندس / وغيره / 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

پر جيڪڏهن مان صرف ان جي مواد کي تبديل ڪرڻ کان سواء فائل جو نالو مٽائي، لينڪس صرف ان وقت تازه ڪاري ڪندو جڏهن فائل تبديل ڪئي وئي هئي:

$ 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 سمجھندو ته ھڪڙو نئون خط آيو آھي ۽ توھان کي ان بابت اطلاع ڏيندو. Mutt اي ميل ڪلائنٽ گهڻو ڪري ساڳئي طريقي سان ڪم ڪري ٿو.

آخري رسائي ٽائم اسٽيمپ پڻ ڪارائتو آهي جيڪڏهن توهان کي گڏ ڪرڻ جي ضرورت آهي فائل سسٽم جي استعمال جا انگ اکر ۽ ٽيون ڪارڪردگي. سسٽم جي منتظمين کي ڄاڻڻ جي ضرورت آهي ته ڪهڙيون شيون پهچائي رهيا آهن انهي ڪري اهي فائل سسٽم کي ترتيب ڏئي سگھن ٿا.

پر اڪثر جديد پروگرامن کي هاڻي هن ليبل جي ضرورت ناهي، تنهن ڪري ان کي استعمال نه ڪرڻ جي تجويز هئي. 2007 ۾، لينس Torvalds ۽ ڪيترن ئي ٻين ڪنيل ڊولپرز هڪ وقت تي ڪارڪردگي جي مسئلي جي حوالي سان بحث ڪيو. لينڪس ڪنيل ڊولپر Ingo Molnar Atime ۽ ext3 فائل سسٽم بابت هيٺين نقطي کي ٺاهيو:

"اها ڪافي عجيب آهي ته هر لينڪس ڊيسڪ ٽاپ ۽ سرور مسلسل وقت جي تازه ڪارين جي ڪري I/O ڪارڪردگي جي خراب ٿيڻ جو شڪار آهي، جيتوڻيڪ اتي صرف ٻه حقيقي استعمال ڪندڙ آهن: tmpwatch [جنهن کي ctime استعمال ڪرڻ لاء ترتيب ڏئي سگهجي ٿو، تنهنڪري اهو هڪ وڏو مسئلو ناهي] ۽ ڪجھ بيڪ اپ اوزار."

پر ماڻهو اڃا تائين ڪجهه پروگرامن کي استعمال ڪن ٿا جن کي هن ليبل جي ضرورت آهي. تنهن ڪري وقت کي هٽائڻ سان انهن جي ڪارڪردگي کي ٽوڙي ڇڏيندو. لينڪس ڪنيل ڊولپرز کي صارف جي آزادي جي خلاف ورزي نه ڪرڻ گهرجي.

سليمان جو حل

لينڪس ڊسٽريبيوشن ۾ ڪيتريون ئي ايپليڪيشنون شامل آهن ۽ ان کان علاوه، صارف پنهنجي ضرورتن مطابق ٻين پروگرامن کي ڊائون لوڊ ۽ انسٽال ڪري سگهن ٿا. اهو هڪ کليل ذريعو OS جو هڪ اهم فائدو آهي. پر اهو توهان جي فائل سسٽم جي ڪارڪردگي کي بهتر ڪرڻ ڏکيو بڻائي ٿو. وسيلن جي گھڻائي واري اجزاء کي ختم ڪرڻ سسٽم کي ٽوڙي سگھي ٿو.

سمجھوتا ​​جي طور تي، لينڪس ڪنييل ڊولپرز متعارف ڪرايو آھي ھڪڙو نئون رلي ٽائم اختيار جيڪو ڪارڪردگي ۽ مطابقت جي وچ ۾ توازن ھڙتال ڪرڻ جو ارادو ڪيو آھي:

atime صرف ان صورت ۾ اپڊيٽ ڪيو ويندو آهي جڏهن اڳئين پهچ جو وقت موجوده ترميمن يا اسٽيٽس جي تبديلي جي وقت کان گهٽ هجي... لينڪس 2.6.30 کان وٺي، ڪنيل هي آپشن ڊفالٽ طور استعمال ڪري ٿو (جيستائين ڪو وقت مقرر نه ڪيو ويو هجي)... گڏوگڏ، لينڪس 2.6.30 کان. 1، فائل جي آخري رسائي جو وقت هميشه اپڊيٽ ڪيو ويندو آهي جيڪڏهن اها XNUMX ڏينهن کان وڌيڪ پراڻي آهي.

جديد لينڪس سسٽم (لينڪس 2.6.30 کان وٺي، 2009 ۾ جاري ڪيل) اڳ ۾ ئي رلي ٽائم استعمال ڪن ٿا، جنهن کي واقعي وڏي ڪارڪردگي وڌائڻ گهرجي. ان جو مطلب توهان کي فائل کي ترتيب ڏيڻ جي ضرورت ناهي / وغيره / fstab، ۽ رلي ٽائم سان توهان ڊفالٽ تي ڀروسو ڪري سگهو ٿا.

noatime سان سسٽم جي ڪارڪردگي کي بهتر بنائڻ

پر جيڪڏھن توھان چاھيو ٿا توھان جي سسٽم کي وڌ کان وڌ ڪارڪردگي حاصل ڪرڻ لاءِ، وقت کي غير فعال ڪرڻ اڃا ممڪن آھي.

ڪارڪردگي جي تبديلي تمام تيز جديد ڊرائيو تي تمام قابل ذڪر نه ٿي سگھي ٿي (جهڙوڪ NVME يا فاسٽ 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

تبصرو شامل ڪريو