ວິທີການເພີ່ມ ຈຳ ນວນ ຈຳ ກັດການເປີດໄຟລ໌ໃນ 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 ແລະຮຽນຮູ້ການ ນຳ ໃຊ້. ພວກເຂົາຈະເປັນຜູ້ຊ່ວຍທີ່ດີ ສຳ ລັບທ່ານໃນມື້ ໜຶ່ງ.