Kif Imponi Tagħbija Għolja tas-CPU u Test ta' Stress fuq Linux billi tuża Stress-ng Tool
Bħala Amministratur tas-Sistema, tista 'tkun trid teżamina u timmonitorja l-istatus tas-sistemi Linux tiegħek meta jkunu taħt stress ta' tagħbija għolja. Dan jista' jkun mod tajjeb għall-Amministraturi tas-Sistema u l-Programmaturi biex:
- irfinar attivitajiet fuq sistema.
- immonitorja l-interfaces tal-kernel tas-sistema operattiva.
- ittestja l-komponenti tal-ħardwer Linux tiegħek bħal CPU, memorja, tagħmir tad-disk u ħafna oħrajn biex josservaw il-prestazzjoni tagħhom taħt stress.
- tkejjel tagħbijiet differenti li jikkunsmaw enerġija fuq sistema.
F'din il-gwida, se nħarsu lejn żewġ għodod importanti, stress u stress-ng għall-ittestjar tal-istress taħt is-sistemi Linux tiegħek.
1. stress - hija għodda ġeneratur ta 'tagħbija tax-xogħol iddisinjata biex tissuġġetta s-sistema tiegħek għal miżura konfigurabbli ta' CPU, memorja, I/O u stress tad-diska.
2. stress-ng - hija verżjoni aġġornata tal-għodda tal-ġeneratur tal-piż tax-xogħol tal-istress li tittestja s-sistema tiegħek għall-karatteristiċi li ġejjin:
- CPU jikkalkula
- ssuq stress
- I/O sinkronizza
- I/O tal-pajp
- cache thrashing
- Stress tal-VM
- socket stressing
- ħolqien u terminazzjoni tal-proċess
- propjetajiet tal-bidla tal-kuntest
Għalkemm dawn l-għodod huma tajbin biex jeżaminaw is-sistema tiegħek, m'għandhomx jintużaw biss minn kwalunkwe utent tas-sistema.
Importanti: Huwa rrakkomandat ħafna li tuża dawn l-għodod bi privileġġi tal-utent tal-għeruq, minħabba li jistgħu jenfasizzaw il-magna Linux tiegħek malajr u biex tevita ċerti żbalji tas-sistema fuq ħardwer iddisinjat ħażin.
Kif Tinstalla l-Għodda 'stress' fil-Linux
Biex tinstalla l-għodda tal-istress fuq Debian u d-derivattivi tagħha bħal Ubuntu u Mint, mexxi l-kmand li ġej.
$ sudo apt-get install stress
Biex tinstalla stress fuq RHEL/CentOS u Fedora Linux, trid tixgħel ir-repożitorju EPEL u mbagħad ittajpja l-kmand yum li ġej biex tinstalla l-istess:
# yum install stress
Is-sintassi ġenerali għall-użu tal-istress hija:
$ sudo stress option argument
Xi għażliet li tista 'tuża bi stress.
- Biex tbid N ħaddiema li jduru fuq il-funzjoni sqrt(), uża l-għażla –cpu N kif ġej.
- Biex tbid N ħaddiema li jduru fuq il-funzjoni sync(), uża l-għażla –io N kif ġej.
- Biex tbid N ħaddiema li jduru fuq funzjonijiet malloc()/free(), uża l-għażla –vm N.
- Biex talloka memorja għal kull ħaddiem vm, uża l-għażla –vm-bytes N.
- Minflok ma teħles u tirrialloka r-riżorsi tal-memorja, tista' tħammeġ mill-ġdid il-memorja billi tuża l-għażla –vm-keep.
- Issettja sleep għal N sekondi qabel ma tillibera l-memorja billi tuża l-għażla –vm-hang N.
- Biex tbid N ħaddiema li jduru fuq funzjonijiet write()/unlink(), uża l-għażla –hdd N.
- Tista’ tissettja timeout wara N sekondi billi tuża l-għażla –timeout N.
- Issettja fattur ta' stennija ta' N mikrosekondi qabel ma jibda kwalunkwe xogħol billi tuża l-għażla –backoff N kif ġej.
- Biex turi informazzjoni aktar dettaljata meta tħaddem stress, uża l-għażla -v.
- Uża –help biex tara l-għajnuna għall-użu tal-istress jew tara l-manpage.
1. Biex teżamina l-effett tal-kmand kull darba li tħaddem, l-ewwel mexxi l-kmand tal-uptime u nnota l-medja tat-tagħbija.
Sussegwentement, mexxi l-kmand tal-istress biex tbid 8 ħaddiema li jduru fuq sqrt() b'timeout ta '20 sekonda. Wara li tmexxi l-istress, erġa ħaddem il-kmand tal-uptime u qabbel il-medja tat-tagħbija.
[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. Biex tbid 8 ħaddiema li jduru fuq sqrt() b'timeout ta' 30 sekonda, li turi informazzjoni dettaljata dwar l-operazzjoni, mexxi dan il-kmand:
[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. Biex tiffranka ħaddiem wieħed tal-funzjonijiet malloc() u free() b'timeout ta' 60 sekonda, mexxi l-kmand li ġej.
[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. Biex tiffranka 4 ħaddiema li jduru fuq sqrt(), 2 ħaddiema li jduru fuq is-sinkronizzazzjoni(), 2 ħaddiema fuq malloc()/free(), b'ħin minn 20 sekonda u talloka memorja ta' 256MB għal kull ħaddiem vm, mexxi dan kmand hawn taħt.
[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]