Cara mengenakan beban CPU yang tinggi dan ujian tekanan pada Linux menggunakan alat 'stres-ng'
- 2583
- 676
- Clarence Powlowski
Sebagai Pentadbir sistem, Anda mungkin ingin memeriksa dan memantau status sistem linux anda apabila mereka berada di bawah tekanan beban tinggi. Ini boleh menjadi cara yang baik untuk pentadbir sistem dan pengaturcara untuk:
- Aktiviti Tune Fine pada Sistem.
- Pantau antara muka kernel sistem operasi.
- Uji komponen perkakasan Linux anda seperti CPU, memori, peranti cakera dan banyak lagi untuk melihat prestasi mereka di bawah tekanan.
- mengukur beban memakan kuasa yang berbeza pada sistem.
Dalam panduan ini, kita akan melihat dua alat penting, tekanan dan stres-ng untuk ujian tekanan di bawah sistem linux anda.
1. tekanan - adalah alat penjana beban kerja yang direka untuk menundukkan sistem anda dengan ukuran CPU, memori, I/O dan tekanan cakera yang boleh dikonfigurasikan.
2. stres-ng - adalah versi terkini alat penjana beban kerja tekanan yang menguji sistem anda untuk ciri -ciri berikut:
- CPU mengira
- Tekanan memandu
- I/O menyegerakkan
- Paip I/O
- Cache Thrashing
- Tekanan VM
- Soket menekankan
- penciptaan dan penamatan proses
- Konteks menukar sifat
Walaupun alat ini baik untuk memeriksa sistem anda, mereka tidak boleh digunakan oleh pengguna sistem.
Penting: Sangat disyorkan bahawa anda menggunakan alat ini dengan keistimewaan pengguna root, kerana mereka dapat menekankan mesin Linux anda dengan cepat dan untuk mengelakkan kesilapan sistem tertentu pada perkakasan yang direka dengan baik.
Cara Memasang Alat 'Tekanan' di Linux
Untuk memasang alat tekanan pada Debian dan derivatifnya seperti itu Ubuntu dan Pudina, Jalankan arahan berikut.
$ sudo apt-get memasang tekanan
Untuk memasang tekanan pada a RHEL/Centos dan Fedora Linux, anda perlu menghidupkan repositori Epel dan kemudian taipkan perintah yum berikut untuk memasang yang sama:
# yum memasang tekanan
Sintaks umum untuk menggunakan tekanan adalah:
argumen pilihan tekanan $ sudo
Beberapa pilihan yang boleh anda gunakan tekanan.
- Untuk bertelur N pekerja berputar pada fungsi sqrt (), gunakan -cpu n pilihan seperti berikut.
- Untuk bertelur N pekerja berputar pada fungsi penyegerakan (), gunakan -io n pilihan seperti berikut.
- Untuk bertelur N pekerja berputar di fungsi malloc ()/percuma (), gunakan -vm n pilihan.
- Untuk memperuntukkan memori bagi setiap pekerja VM, gunakan -vm-bytes n pilihan.
- Daripada membebaskan dan mengembalikan sumber memori, anda boleh memori semula dengan menggunakan -VM-KEEP pilihan.
- Tetapkan tidur ke N detik sebelum membebaskan memori dengan menggunakan -vm-hang n pilihan.
- Ke bertelur n pekerja berputar pada fungsi menulis ()/unlink (), gunakan -hdd n pilihan.
- Anda boleh menetapkan masa tamat selepas N detik dengan menggunakan -masa tamat n pilihan.
- Tetapkan faktor tunggu N microsecond sebelum kerja bermula dengan menggunakan -backoff n pilihan seperti berikut.
- Untuk menunjukkan maklumat yang lebih terperinci semasa menimbulkan tekanan, gunakan -v pilihan.
- Gunakan -tolong untuk melihat bantuan untuk menggunakan tekanan atau melihat manpage.
Bagaimana saya menggunakan tekanan pada sistem linux?
1. Untuk mengkaji kesan arahan setiap kali anda menjalankannya, jalan pertama uptime Perintah dan perhatikan purata beban.
Seterusnya, jalankan tekanan perintah untuk menelan 8 pekerja berputar sqrt () dengan tamat masa 20 saat. Setelah menjalankan tekanan, sekali lagi jalankan uptime perintah dan bandingkan purata beban.
[dilindungi e -mel] ~ $ uptime [dilindungi e -mel] ~ $ Tekanan sudo - -cpu 8 --timeout 20 [dilindungi e -mel] ~ $ uptime
Output sampel
[dilindungi e -mel] ~ $ uptime 17:20:00 UP 7:51, 2 pengguna, Purata Beban: 1.91, 2.16, 1.93 [<-- Watch Load Average] [dilindungi e -mel] ~ $ Tekanan sudo - -cpu 8 --timeout 20 Tekanan: Maklumat: [17246] Menghantar Hogs: 8 CPU, 0 IO, 0 VM, 0 HDD Tekanan: Maklumat: [17246] berjaya diselesaikan dalam 21 -an [dilindungi e -mel] ~ $ uptime 17:20:24 UP 7:51, 2 pengguna, Purata Beban: 5.14, 2.88, 2.17 [<-- Watch Load Average]
2. Untuk menanam 8 pekerja berputar di sqrt () dengan tamat masa 30 detik, menunjukkan maklumat terperinci mengenai operasi, jalankan arahan ini:
[dilindungi e -mel] ~ $ uptime [dilindungi e -mel] ~ $ Tekanan sudo - -cpu 8 -v -wimeout 30s [dilindungi e -mel] ~ $ uptime
Output sampel
[dilindungi e -mel] ~ $ uptime 17:27:25 UP 7:58, 2 pengguna, Purata Beban: 1.40, 1.90, 1.98 [<-- Watch Load Average] [dilindungi e -mel] ~ $ Tekanan sudo - -cpu 8 -v -wimeout 30s Tekanan: Maklumat: [17353] Menghantar Hogs: 8 CPU, 0 IO, 0 VM, 0 HDD Tekanan: DBUG: [17353] Menggunakan Tidur Backoff Tekanan 24000US: ] -> Pekerja Hogcpu 8 [17354] Tekanan bercabang: DBUG: [17353] Menggunakan Tidur Backoff Tekanan 21000US: DBUG: [17353] Menetapkan Timeout To 30s Stress: DBUG: [17353] -> Pekerja Hogcpu 7 [17355] Tekanan Forked: DBUG: [17353] Menggunakan Tidur Backoff 18000US Tekanan: DBUG: [17353] Menetapkan Timeout To 30s Stress: DBUG: [17353] -> Pekerja Hogcpu 6 [17356] Tidur 15000US Tekanan: DBUG: [17353] Menetapkan masa tamat ke 30 -an Tekanan: DBUG: [17353] -> HOGCPU Pekerja 5 [17357] Tekanan Fork: DBUG: [17353] Menggunakan Tidur Backoff 12000US Tekanan: DBUG: [17353] Menetapkan masa tamat ke 30s Tekanan: DBUG: [17353] -> HOGCPU Pekerja 4 [17358] Tekanan bercabang: DBUG: [17353] Menggunakan tidur backoff 9000US tekanan:DBUG: [17353] Menetapkan masa tamat ke 30 -an Tekanan: DBUG: [17353] -> HOGCPU Pekerja 3 [17359] Tekanan Fork: DBUG: [17353] Menggunakan Tidur Backoff 6000US Tekanan: DBUG: [17353] Menetapkan Timeout ke 30S : dbug: [17353] -> pekerja Hogcpu 2 [17360] Tekanan bercabang: dbug: [17353] Menggunakan tidur backoff 3000us tekanan: dbug: [17353] menetapkan masa tamat ke 30 -an tekanan: dbug: [17353] -> hogcpu Pekerja 1 [17361] Tekanan Forked: DBUG: [17353] [dilindungi e -mel] ~ $ uptime 17:27:59 UP 7:59, 2 pengguna, Purata Beban: 5.41, 2.82, 2.28 [<-- Watch Load Average]
3. Kepada Spwan seorang pekerja malloc () dan percuma () berfungsi dengan tamat masa 60 detik, jalankan arahan berikut.
[dilindungi e -mel] ~ $ uptime [dilindungi e -mel] ~ $ Tekanan sudo -VM 1 -Wimeout 60s [dilindungi e -mel] ~ $ uptime
Output sampel
[dilindungi e -mel] ~ $ uptime 17:34:07 UP 8:05, 2 pengguna, Purata Beban: 1.54, 2.04, 2.11 [<-- Watch Load Average] [dilindungi e -mel] ~ $ Tekanan sudo -VM 1 -Wimeout 60s Tekanan: Info: [17420] Menghantar Hogs: 0 CPU, 0 IO, 1 VM, 0 HDD Tekanan: Maklumat: [17420] berjaya dijalankan dalam 60 -an [dilindungi e -mel] ~ $ uptime 17:35:20 UP 8:06, 2 pengguna, Purata Beban: 2.45, 2.24, 2.17 [<-- Watch Load Average]
4. Kepada Spwan 4 pekerja berputar di sqrt (), 2 pekerja spwaning on sync (), 2 pekerja di malloc ()/free (), dengan masa dari 20 saat dan memperuntukkan ingatan 256MB per vm pekerja, jalankan arahan ini di bawah.
[dilindungi e -mel] ~ $ uptime [dilindungi e -mel] ~ $ Tekanan sudo--cpu 4 --io 3 --vm 2 --vm-bytes 256m --Timeout 20s [dilindungi e -mel] ~ $ uptime
Output sampel
[dilindungi e -mel] ~ $ uptime 17:40:33 UP 8:12, 2 pengguna, Purata Beban: 1.68, 1.84, 2.02 [<-- Watch Load Average] [dilindungi e -mel] ~ $ Tekanan sudo--cpu 4 --io 3 --vm 2 --vm-bytes 256m --Timeout 20s Tekanan: Info: [17501] Menghantar Hogs: 4 CPU, 3 IO, 2 VM, 0 HDD Tekanan: Info: [17501] berjaya dijalankan pada 20 -an [dilindungi e -mel] ~ $ uptime 17:40:58 UP 8:12, 2 pengguna, Purata Beban: 4.63, 2.54, 2.24 [<-- Watch Load Average]Halaman: 1 2
- « Cara menggunakan 'sejarah yum' untuk mengetahui maklumat pakej yang dipasang atau dikeluarkan
- Cara menetapkan semula kata laluan root mysql atau Mariadb di linux »