ວິທີການເພີ່ມ ຈຳ ນວນ ຈຳ ກັດການເປີດໄຟລ໌ໃນ Linux


ໃນ Linux, ທ່ານສາມາດປ່ຽນປະລິມານສູງສຸດຂອງແຟ້ມທີ່ເປີດ. ທ່ານອາດຈະດັດແປງຕົວເລກນີ້ໂດຍໃຊ້ ຄຳ ສັ່ງ ulimit. ມັນຊ່ວຍໃຫ້ທ່ານມີຄວາມສາມາດໃນການຄວບຄຸມຊັບພະຍາກອນທີ່ມີຢູ່ ສຳ ລັບຫອຍຫຼືຂະບວນການທີ່ເລີ່ມຕົ້ນໂດຍມັນ.

ໃນ ຄຳ ແນະ ນຳ ສັ້ນໆນີ້ພວກເຮົາຈະສະແດງວິທີການກວດສອບຂໍ້ ຈຳ ກັດຂອງການເປີດແລະ ຄຳ ອະທິບາຍເອກະສານຂອງທ່ານໃນປະຈຸບັນ, ແຕ່ເພື່ອເຮັດແນວນັ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງມີການເຂົ້າເຖິງຮາກຂອງລະບົບຂອງທ່ານ.

ຫນ້າທໍາອິດ, ໃຫ້ເບິ່ງວິທີທີ່ພວກເຮົາສາມາດຊອກຫາຈໍານວນສູງສຸດຂອງຄໍາອະທິບາຍເອກະສານທີ່ເປີດຢູ່ໃນລະບົບ Linux ຂອງທ່ານ.

ຊອກຫາຂໍ້ ຈຳ ກັດ Linux Open File

ມູນຄ່າແມ່ນເກັບໄວ້ໃນ:

# cat /proc/sys/fs/file-max

818354

ຕົວເລກທີ່ທ່ານຈະເຫັນ, ສະແດງ ຈຳ ນວນແຟ້ມທີ່ຜູ້ໃຊ້ສາມາດເປີດຕໍ່ເຂົ້າລະບົບເຂົ້າສູ່ລະບົບ. ຜົນໄດ້ຮັບອາດຈະແຕກຕ່າງກັນຂື້ນກັບລະບົບຂອງທ່ານ.

ຕົວຢ່າງໃນເຄື່ອງແມ່ຂ່າຍຂອງ CentOS ຂອງລະເບີດຝັງດິນ, ຂອບເຂດຈໍາກັດຖືກຕັ້ງຄ່າໃຫ້ 818354, ໃນຂະນະທີ່ຢູ່ໃນ server ຂອງ Ubuntu ທີ່ຂ້ອຍໃຊ້ຢູ່ເຮືອນການ ກຳ ນົດຄ່າເລີ່ມຕົ້ນແມ່ນ 176772.

ຖ້າທ່ານຕ້ອງການເບິ່ງຂໍ້ ຈຳ ກັດທີ່ອ່ອນແລະອ່ອນ, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

# ulimit -Hn

4096
# ulimit -Sn

1024

ເພື່ອເບິ່ງຄຸນຄ່າທີ່ອ່ອນແລະອ່ອນ ສຳ ລັບຜູ້ໃຊ້ທີ່ແຕກຕ່າງກັນ, ທ່ານພຽງແຕ່ສາມາດປ່ຽນຜູ້ໃຊ້ດ້ວຍ "su" ໃຫ້ກັບຜູ້ໃຊ້ທີ່ ຈຳ ກັດທີ່ທ່ານຕ້ອງການກວດສອບ.

ຍົກຕົວຢ່າງ:

# su marin
$ ulimit -Sn

1024
$ ulimit -Hn

4096

ວິທີການກວດສອບຂໍ້ ຈຳ ກັດຂອງລະບົບການ ກຳ ນົດເອກະສານທີ່ກວ້າງຂວາງໃນ Linux

ຖ້າທ່ານ ກຳ ລັງໃຊ້ງານ server, ບາງ ຄຳ ຮ້ອງສະ ໝັກ ຂອງທ່ານອາດຈະ ຈຳ ເປັນຕ້ອງມີຂໍ້ ຈຳ ກັດທີ່ສູງ ສຳ ລັບ ຄຳ ອະທິບາຍເອກະສານທີ່ເປີດ. ຕົວຢ່າງທີ່ດີ ສຳ ລັບສິ່ງດັ່ງກ່າວແມ່ນການບໍລິການ MySQL/MariaDB ຫຼືເຄື່ອງແມ່ຂ່າຍເວັບ Apache.

ທ່ານສາມາດເພີ່ມຂີດ ຈຳ ກັດຂອງເອກະສານທີ່ເປີດໃນ Linux ໂດຍການດັດແກ້ ຄຳ ສັ່ງ kernel fs.file-max . ສຳ ລັບຈຸດປະສົງນັ້ນ, ທ່ານສາມາດໃຊ້ sysctl utility.

Sysctl ຖືກໃຊ້ໃນການ ກຳ ນົດຄ່າຂອງ kernel ໃນເວລາແລ່ນ.

ຍົກຕົວຢ່າງ, ເພື່ອເພີ່ມຂີດ ຈຳ ກັດເອກະສານເປີດໃຫ້ 500000, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເປັນຮາກ:

# sysctl -w fs.file-max=500000

ທ່ານສາມາດກວດສອບມູນຄ່າປັດຈຸບັນ ສຳ ລັບເອກະສານທີ່ເປີດດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

$ cat /proc/sys/fs/file-max

ດ້ວຍ ຄຳ ສັ່ງຂ້າງເທິງນີ້ການປ່ຽນແປງທີ່ທ່ານໄດ້ເຮັດຈະຍັງຄົງໃຊ້ໄດ້ຈົນກວ່າຈະມີການເປີດ ໃໝ່ ຕໍ່ໄປ. ຖ້າທ່ານຕ້ອງການ ນຳ ໃຊ້ມັນຢ່າງຖາວອນ, ທ່ານຈະຕ້ອງແກ້ໄຂເອກະສານຕໍ່ໄປນີ້:

# vi /etc/sysctl.conf

ຕື່ມແຖວຕໍ່ໄປນີ້:

fs.file-max=500000

ແນ່ນອນ, ທ່ານສາມາດປ່ຽນ ຈຳ ນວນຕາມຄວາມຕ້ອງການຂອງທ່ານ. ເພື່ອກວດສອບການປ່ຽນແປງອີກຄັ້ງໃຫ້ໃຊ້:

# cat /proc/sys/fs/file-max

ຜູ້ໃຊ້ຈະຕ້ອງອອກຈາກລະບົບແລະເຂົ້າສູ່ລະບົບອີກຄັ້ງເພື່ອການປ່ຽນແປງຈະມີຜົນ. ຖ້າທ່ານຕ້ອງການໃຊ້ຂີດ ຈຳ ກັດໃນທັນທີ, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

# sysctl -p

ຕັ້ງຄ່າລະດັບຜູ້ໃຊ້ເປີດຂໍ້ ຈຳ ກັດໃນ Linux

ຕົວຢ່າງຂ້າງເທິງ, ໄດ້ສະແດງວິທີການ ກຳ ນົດຂອບເຂດທົ່ວໂລກ, ແຕ່ທ່ານອາດຈະຕ້ອງການ ນຳ ໃຊ້ຂໍ້ ຈຳ ກັດຕໍ່ພື້ນຖານຂອງຜູ້ໃຊ້. ສຳ ລັບຈຸດປະສົງນັ້ນ, ໃນຖານະຜູ້ ນຳ ໃຊ້ຮາກ, ທ່ານຈະຕ້ອງແກ້ໄຂເອກະສານຕໍ່ໄປນີ້:

# vi /etc/security/limits.conf

ຖ້າທ່ານເປັນຜູ້ບໍລິຫານ Linux, ຂ້າພະເຈົ້າຂໍແນະ ນຳ ທ່ານໃຫ້ທ່ານຄຸ້ນເຄີຍກັບເອກະສານນັ້ນແລະທ່ານສາມາດເຮັດຫຍັງໄດ້. ອ່ານ ຄຳ ເຫັນທັງ ໝົດ ໃນມັນເພາະມັນສະ ໜອງ ຄວາມຍືດຫຍຸ່ນໃນການຄຸ້ມຄອງຊັບພະຍາກອນລະບົບໂດຍ ຈຳ ກັດຜູ້ໃຊ້/ກຸ່ມໃນລະດັບຕ່າງກັນ.

ບັນດາສາຍທີ່ທ່ານຄວນຕື່ມໃຊ້ຕົວ ກຳ ນົດດັ່ງຕໍ່ໄປນີ້:

<domain>        <type>  <item>  <value>

ນີ້ແມ່ນຕົວຢ່າງຂອງການ ກຳ ນົດຂໍ້ ຈຳ ກັດທີ່ອ່ອນແລະຍາກ ສຳ ລັບນ້ ຳ ມັນຂອງຜູ້ໃຊ້:

## Example hard limit for max opened files
marin        hard nofile 4096
## Example soft limit for max opened files
marin        soft nofile 1024

ຄວາມຄິດສຸດທ້າຍ

ບົດຂຽນສັ້ນໆນີ້ໄດ້ສະແດງໃຫ້ທ່ານເຫັນຕົວຢ່າງພື້ນຖານກ່ຽວກັບວິທີທີ່ທ່ານສາມາດກວດສອບແລະ ກຳ ຫນົດຂໍ້ ຈຳ ກັດລະດັບທົ່ວໂລກແລະລະດັບຜູ້ໃຊ້ ສຳ ລັບ ຈຳ ນວນໄຟລ໌ທີ່ເປີດສູງສຸດ.

ໃນຂະນະທີ່ພວກເຮົາພຽງແຕ່ຂູດ ໜ້າ ດິນ, ຂ້າພະເຈົ້າຂໍແນະ ນຳ ໃຫ້ທ່ານເບິ່ງແລະອ່ານທີ່ລະອຽດກວ່າກ່ຽວກັບ /etc/sysctl.conf ແລະ /etc/security/limits.conf ແລະຮຽນຮູ້ການ ນຳ ໃຊ້. ພວກເຂົາຈະເປັນຜູ້ຊ່ວຍທີ່ດີ ສຳ ລັບທ່ານໃນມື້ ໜຶ່ງ.