Tidak perlu menginstal paket tambahan, shell lama Anda yang baik dapat melakukannya sendiri.
One-liner ini akan memuat empat core 1 Anda pada 100%:
for i in 1 2 3 4; do while : ; do : ; done & done
Cara kerjanya cukup sederhana, dimulai empat loop tanpa akhir. Masing-masing dari mereka mengulang instruksi nol ( :). Setiap loop dapat memuat inti CPU pada 100%.
Jika Anda menggunakan bash, ksh93dan rentang pendukung shell lainnya (yaitu tidak dashatau lebih lama ksh), Anda dapat menggunakan sintaksis non-portabel ini:
for i in {1..4}; do ...
Ganti 4dengan jumlah CPU yang ingin Anda muat jika berbeda 4.
Dengan asumsi Anda tidak memiliki pekerjaan latar belakang yang sudah berjalan ketika Anda meluncurkan salah satu dari loop ini, Anda dapat menghentikan pembuatan load dengan perintah itu:
for i in 1 2 3 4; do kill %$i; done
Menjawab komentar @ underscore_d, berikut adalah versi yang disempurnakan yang menyederhanakan banyak penghentian beban dan yang juga memungkinkan menentukan batas waktu (default 60 detik.) A Control- Cakan membunuh semua loop pelarian juga. Fungsi shell ini bekerja setidaknya di bawah bashdan ksh.
# Usage: lc [number_of_cpus_to_load [number_of_seconds] ]
lc() {
(
pids=""
cpus=${1:-1}
seconds=${2:-60}
echo loading $cpus CPUs for $seconds seconds
trap 'for p in $pids; do kill $p; done' 0
for ((i=0;i<cpus;i++)); do while : ; do : ; done & pids="$pids $!"; done
sleep $seconds
)
}
1 Perhatikan bahwa dengan CPU yang mendukung lebih dari satu thread per core (Hyper-threading), OS akan mengirimkan beban ke semua CPU virtual. Dalam hal itu, perilaku beban tergantung pada implementasi (setiap utas mungkin dilaporkan 100% sibuk atau tidak). .
catsecara bersamaan?