Otu esi ewebata ibu CPU dị elu na ule nrụgide na Linux Iji Ngwá Ọrụ Stress-ng


Dị ka onye nchịkwa Sistemu, ị nwere ike ịchọ inyocha na nyochaa ọkwa nke sistemụ Linux gị mgbe ha nọ na nrụgide nke ibu dị elu. Nke a nwere ike ịbụ ụzọ dị mma maka ndị nchịkwa sistemụ na ndị mmemme iji:

  1. ọrụ dị mma na sistemụ.
  2. nyochaa oghere kernel sistemụ arụmọrụ.
  3. nwale ngwaike Linux gị dị ka CPU, ebe nchekwa, ngwaọrụ diski na ọtụtụ ndị ọzọ ka ịhụ arụmọrụ ha n'okpuru nrụgide.
  4. tuo ibu dị iche iche na-eri ike na sistemụ.

N'ime ntuziaka a, anyị ga-elele ngwaọrụ abụọ dị mkpa, nrụgide na nrụgide-ng maka nnwale nrụgide n'okpuru sistemụ Linux gị.

1. nrụgide - bụ ngwá ọrụ na-emepụta ihe na-arụ ọrụ nke e mere iji tinye usoro gị na nhazi nke CPU, ebe nchekwa, I/O na nrụgide diski.

2. stress-ng - bụ ụdị emelitere nke ngwaọrụ nrụpụta ọrụ nrụgide nke na-anwale sistemụ gị maka njirimara ndị a:

  1. Mgbakọ CPU
  2. na-akpata nrụgide akwọ ụgbọala
  3. mmekọrịta m/O
  4. Pipe I/O
  5. na-akpachapụ cache
  6. VM nrụgide
  7. na-emesi ike
  8. usoro okike na nchupu
  9. Njirimara mgbanwe ọnọdụ

Ọ bụ ezie na ngwaọrụ ndị a dị mma maka nyochaa sistemụ gị, ọ bụghị naanị ndị ọrụ sistemụ ọ bụla ga-eji ha.

Ihe dị mkpa: A na-atụ aro ka ị jiri ngwaọrụ ndị a nwere ikike onye ọrụ mgbọrọgwụ, n'ihi na ha nwere ike imesi igwe Linux gị ike ngwa ngwa yana zere ụfọdụ njehie sistemụ na ngwaike emebere nke ọma.

Otu esi wụnye ngwa 'stress' na Linux

Iji wụnye ngwá ọrụ nrụgide na Debian na usoro ya dị ka Ubuntu na Mint, gbasoo iwu na-esonụ.

$ sudo apt-get install stress

Iji tinye nrụgide na RHEL/CentOS na Fedora Linux, ịkwesịrị ịgbanwuo ebe nchekwa EPEL wee pịnye iwu yum a ka ịwụnye otu:

# yum install stress

Nkwekọrịta izugbe maka iji nchekasị bụ:

$ sudo stress option argument

Nhọrọ ụfọdụ ị nwere ike iji na nrụgide.

  1. Ka ị nweta ndị ọrụ N na-agbagharị na ọrụ sqrt(), jiri nhọrọ –cpu N dị ka ndị a.
  2. Iji mee ka ndị ọrụ N na-atụgharị na ọrụ mmekọrịta, jiri nhọrọ –io N dị ka ndị a.
  3. Iji mee ka ndị ọrụ N na-agbagharị na ọrụ malloc()/free(), jiri nhọrọ –vm N.
  4. Ikenye ebe nchekwa kwa onye ọrụ vm, jiri nhọrọ –vm-bytes N.
  5. Kama ịtọhapụ na ibugharị akụrụngwa ebe nchekwa, ị nwere ike mebie ebe nchekwa site na iji nhọrọ –vm-keep.
  6. Tụba ụra ka ọ bụrụ nkeji N tupu ịtọhapụ ebe nchekwa site na iji nhọrọ –vm-hang N.
  7. Iji mee ka ndị ọrụ N na-agbagharị n'ọrụ ide()/unlink(), jiri nhọrọ -hdd N.
  8. Ị nwere ike ịtọ oge nkwụsị mgbe sekọnd N gachara site na iji nhọrọ –timeout N.
  9. Tụzie ihe echere N microseconds tupu ọrụ ọ bụla amalite site na iji nhọrọ –backoff N dị ka ndị a.
  10. Iji gosi nkọwa zuru ezu mgbe ị na-eme nrụgide, jiri nhọrọ -v.
  11. Jiri -help ịhụ enyemaka maka iji nchekasị ma ọ bụ lelee manpage.

1. Iji nyochaa mmetụta nke iwu ahụ oge ọ bụla ị na-agba ya, buru ụzọ mee iwu oge ma detuo nkezi ibu.

Na-esote, gbaa iwu nrụgide ka ị nweta ndị ọrụ 8 na-agbagharị na sqrt() na oge nkwụsị nke 20 sekọnd. Mgbe ị gbasasịrị nrụgide, megharịa iwu oge oge ọzọ wee tulee nkezi ibu.

[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. Iji mee ka ndị ọrụ 8 na-agbagharị na sqrt() na oge nke 30 sekọnd, na-egosi ozi zuru ezu banyere ọrụ ahụ, mee iwu a:

[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. Iji spwan otu onye ọrụ nke malloc() na free() ọrụ na oge nke 60 sekọnd, mee iwu na-esonụ.

[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. Iji spwan ndị ọrụ 4 na-agbagharị na sqrt(), ndị ọrụ 2 na-agbagharị na mmekọrịta(), ndị ọrụ 2 na malloc()/free(), na oge nke 20 sekọnd wee nyefee ebe nchekwa 256MB kwa onye ọrụ vm, mee nke a. iwu n'okpuru.

[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]