ວິທີການທົດສອບການໂຫຼດໂປແກຼມ CPU ທີ່ມີຄວາມໄວສູງແລະຄວາມກົດດັນໃນ Linux ໂດຍໃຊ້ເຄື່ອງມື Stress-ng
ໃນຖານະເປັນຜູ້ບໍລິຫານລະບົບ, ທ່ານອາດຈະຕ້ອງການກວດກາແລະຕິດຕາມສະຖານະຂອງລະບົບ Linux ຂອງທ່ານເມື່ອພວກເຂົາຕົກຢູ່ໃນຄວາມກົດດັນສູງ. ນີ້ສາມາດເປັນວິທີທີ່ດີ ສຳ ລັບຜູ້ເບິ່ງແຍງລະບົບແລະນັກຂຽນໂປແກຼມທີ່ຈະ:
<
ໃນຄູ່ມືນີ້, ພວກເຮົາຈະພິຈາລະນາສອງເຄື່ອງມືທີ່ ສຳ ຄັນ, ຄວາມກົດດັນແລະຄວາມກົດດັນເພື່ອທົດສອບຄວາມກົດດັນພາຍໃຕ້ລະບົບ Linux ຂອງທ່ານ.
1. ຄວາມກົດດັນ - ແມ່ນເຄື່ອງມືທີ່ໃຊ້ວຽກໂດຍທົ່ວໄປທີ່ຖືກອອກແບບມາເພື່ອເຮັດໃຫ້ລະບົບຂອງທ່ານມີມາດຕະການທີ່ມີການຕັ້ງຄ່າຂອງ CPU, ຫນ່ວຍຄວາມ ຈຳ, I/O ແລະຄວາມກົດດັນຂອງແຜ່ນ.
2. ຄວາມກົດດັນ-ng - ແມ່ນສະບັບປັບປຸງຂອງເຄື່ອງມືສ້າງເຄື່ອງຈັກເຮັດວຽກຄວາມກົດດັນທີ່ທົດສອບລະບົບຂອງທ່ານ ສຳ ລັບຄຸນລັກສະນະດັ່ງຕໍ່ໄປນີ້:
<
ເຖິງແມ່ນວ່າເຄື່ອງມືເຫລົ່ານີ້ຈະດີ ສຳ ລັບການກວດກາລະບົບຂອງທ່ານ, ພວກມັນບໍ່ຄວນໃຊ້ໂດຍຜູ້ ນຳ ໃຊ້ລະບົບຄົນອື່ນ.
ສິ່ງ ສຳ ຄັນ: ຂໍແນະ ນຳ ໃຫ້ທ່ານໃຊ້ເຄື່ອງມືເຫຼົ່ານີ້ດ້ວຍສິດທິຜູ້ໃຊ້ຮາກ, ເພາະວ່າມັນສາມາດກົດດັນໃຫ້ເຄື່ອງ Linux ຂອງທ່ານໄວແລະຫລີກລ້ຽງຂໍ້ຜິດພາດຂອງລະບົບບາງຢ່າງກ່ຽວກັບຮາດແວທີ່ອອກແບບບໍ່ດີ.
ວິທີການຕິດຕັ້ງເຄື່ອງມື ‘ຄວາມກົດດັນ’ ໃນ Linux
ການຕິດຕັ້ງເຄື່ອງມືຄວາມກົດດັນກ່ຽວກັບ Debian ແລະອະນຸພັນຂອງມັນເຊັ່ນ Ubuntu ແລະ Mint, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
$ sudo apt-get install stress
ເພື່ອຕິດຕັ້ງຄວາມກົດດັນໃນ RHEL/CentOS ແລະ Fedora Linux, ທ່ານ ຈຳ ເປັນຕ້ອງເປີດຫໍສະມຸດ EPEL ແລະຫຼັງຈາກນັ້ນພິມ ຄຳ ສັ່ງ yum ຕໍ່ໄປເພື່ອຕິດຕັ້ງຄືກັນ:
# yum install stress
syntax ທົ່ວໄປ ສຳ ລັບການໃຊ້ຄວາມກົດດັນແມ່ນ:
$ sudo stress option argument
ບາງທາງເລືອກທີ່ທ່ານສາມາດໃຊ້ກັບຄວາມກົດດັນ.
<
1. ເພື່ອກວດກາຜົນກະທົບຂອງ ຄຳ ສັ່ງທຸກໆຄັ້ງທີ່ທ່ານ ດຳ ເນີນການ, ທຳ ອິດຕ້ອງ ດຳ ເນີນການ ຄຳ ສັ່ງ uptime ແລະບັນທຶກສະເລ່ຍການໂຫຼດ.
ຖັດໄປ, ດຳ ເນີນ ຄຳ ສັ່ງຄວາມກົດດັນເພື່ອ ກຳ ຈັດພະນັກງານ 8 ຄົນທີ່ປົ່ງໃສ່ sqrt() ໝົດ ເວລາ 20 ວິນາທີ. ຫຼັງຈາກແລ່ນຄວາມເຄັ່ງຕຶງ, ອີກເທື່ອ ໜຶ່ງ ແລ່ນ ຄຳ ສັ່ງ uptime ແລະປຽບທຽບຄ່າສະເລ່ຍຂອງການໂຫຼດ.
[email ~ $ uptime [email ~ $ sudo stress --cpu 8 --timeout 20 [email ~ $ uptime
[email ~ $ uptime 17:20:00 up 7:51, 2 users, load average: 1.91, 2.16, 1.93 [<-- Watch Load Average] [email ~ $ sudo stress --cpu 8 --timeout 20 stress: info: [17246] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd stress: info: [17246] successful run completed in 21s [email ~ $ uptime 17:20:24 up 7:51, 2 users, load average: 5.14, 2.88, 2.17 [<-- Watch Load Average]
2. ເພື່ອເອົາພະນັກງານ 8 ຄົນປັ່ນປ່ວນໃສ່ sqrt() ໝົດ ເວລາ 30 ວິນາທີ, ສະແດງຂໍ້ມູນລະອຽດກ່ຽວກັບການປະຕິບັດງານ, ດຳ ເນີນການບັນຊານີ້:
[email ~ $ uptime [email ~ $ sudo stress --cpu 8 -v --timeout 30s [email ~ $ uptime
[email ~ $ uptime 17:27:25 up 7:58, 2 users, load average: 1.40, 1.90, 1.98 [<-- Watch Load Average] [email ~ $ sudo stress --cpu 8 -v --timeout 30s stress: info: [17353] dispatching hogs: 8 cpu, 0 io, 0 vm, 0 hdd stress: dbug: [17353] using backoff sleep of 24000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 8 [17354] forked stress: dbug: [17353] using backoff sleep of 21000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 7 [17355] forked stress: dbug: [17353] using backoff sleep of 18000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 6 [17356] forked stress: dbug: [17353] using backoff sleep of 15000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 5 [17357] forked stress: dbug: [17353] using backoff sleep of 12000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 4 [17358] forked stress: dbug: [17353] using backoff sleep of 9000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 3 [17359] forked stress: dbug: [17353] using backoff sleep of 6000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 2 [17360] forked stress: dbug: [17353] using backoff sleep of 3000us stress: dbug: [17353] setting timeout to 30s stress: dbug: [17353] --> hogcpu worker 1 [17361] forked stress: dbug: [17353] [email ~ $ uptime 17:27:59 up 7:59, 2 users, load average: 5.41, 2.82, 2.28 [<-- Watch Load Average]
3. ເພື່ອເຮັດໃຫ້ພະນັກງານຂອງ malloc() ແລະບໍ່ເສຍຄ່າ() ເຮັດວຽກກັບເວລາ 60 ວິນາທີ, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.
[email ~ $ uptime [email ~ $ sudo stress --vm 1 --timeout 60s [email ~ $ uptime
[email ~ $ uptime 17:34:07 up 8:05, 2 users, load average: 1.54, 2.04, 2.11 [<-- Watch Load Average] [email ~ $ sudo stress --vm 1 --timeout 60s stress: info: [17420] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd stress: info: [17420] successful run completed in 60s [email ~ $ uptime 17:35:20 up 8:06, 2 users, load average: 2.45, 2.24, 2.17 [<-- Watch Load Average]
4. ເພື່ອກະຕຸ້ນໃຫ້ ກຳ ມະກອນ 4 ຄົນ ໝູນ ວຽນ sqrt(), ກຳ ມະກອນ 2 ຄົນ ກຳ ລັງຂຸ້ນຂ້ຽວ(), ກຳ ມະກອນ 2 ຄົນທີ່ malloc()/ບໍ່ເສຍຄ່າ(), ໂດຍໃຊ້ເວລາບໍ່ເກີນ 20 ວິນາທີແລະຈັດສັນຄວາມ ຈຳ ຂອງ 256MB ຕໍ່ພະນັກງານ vm, ດຳ ເນີນການນີ້ ຄໍາສັ່ງຂ້າງລຸ່ມນີ້.
[email ~ $ uptime [email ~ $ sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s [email ~ $ uptime
[email ~ $ uptime 17:40:33 up 8:12, 2 users, load average: 1.68, 1.84, 2.02 [<-- Watch Load Average] [email ~ $ sudo stress --cpu 4 --io 3 --vm 2 --vm-bytes 256M --timeout 20s stress: info: [17501] dispatching hogs: 4 cpu, 3 io, 2 vm, 0 hdd stress: info: [17501] successful run completed in 20s [email ~ $ uptime 17:40:58 up 8:12, 2 users, load average: 4.63, 2.54, 2.24 [<-- Watch Load Average]