Fazladan bir paket kurmanıza gerek yok, eski kabuğunuz yalnız bunu yapabilir.
Bu bir astar, dört çekirdeğinizi 1'i % 100 oranında yükleyecektir :
for i in 1 2 3 4; do while : ; do : ; done & done
Nasıl çalıştığını oldukça basit, dört sonsuz döngüye başlar. Her biri null komutunu ( :
) tekrarlıyor . Her döngü bir CPU çekirdeğini% 100 yükleyebilir.
Eğer kullanırsanız bash
, ksh93
ve diğer kabuklar aralıkları destekleyen (yani değil dash
veya daha eski ksh
), bu olmayan taşınabilir sözdizimini kullanabilirsiniz:
for i in {1..4}; do ...
Farklıysa 4
, yüklemek istediğiniz CPU sayısı ile değiştirin 4
.
Bu döngülerden birini başlattığınızda zaten çalışan bir arka plan işiniz olmadığını varsayarak, bu komutla yük oluşturmayı durdurabilirsiniz:
for i in 1 2 3 4; do kill %$i; done
@ Underscore_d adlı kullanıcının yorumuna göre, burada yükü durduracak kadar basitleştiren ve ayrıca bir zaman aşımı belirtilmesine izin veren (varsayılan 60 saniye) A Control- Ctüm kaçak döngüleri de öldürür. Bu kabuk işlevi en azından bash
ve altında çalışır 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 Çekirdek başına birden fazla iş parçacığını destekleyen CPU'larda (Hiper iş parçacığı), işletim sisteminin yükü tüm sanal işlemcilere göndereceğini unutmayın. Bu durumda, yükleme davranışı uygulamaya bağlıdır (her iş parçacığı% 100 meşgul olarak bildirilebilir veya bildirilmeyebilir). .
cat
anda birden fazla örnek çalıştırmak mümkün mü?