SORU
29 Ocak 2013, Salı


Neden “while(true)” “Parçacığı.olmadan mı uyku” neden 100% ama Windows değil Linux CPU kullanımı?

Java'da basit bir program oluşturduk:

public static void main(String[] args) throws InterruptedException {
    while (true) 
        ;
}

Ben bir Linux makinede bu çalışma, 0 CPU kullanımı gösterir, ama yavaş görünmesini OS neden olmaz. Eğer Windows üzerinde aynı kodu çalıştırmak ancak, bunun sadece CPU kullanımı hakkında gösterir.

Linux üzerinde Windows ve OpenJDK 6 Oracle TOTEM kullanıyorum.

Windows' kararı parçacıkları rastgele zamanlayıcı ve Linux değil mi? merak ediyorum

CEVAP
29 Ocak 2013, Salı


Windows Görev Yöneticisi yok iken sözde modu IRİX, top Linux varsayılan olarak çalışır. Hadi 4 çekirdek var ki:

  • 1 IRİX modu ile tam olarak kullanılan çekirdek 0'dür ve 4 çekirdekli 400%.

  • , 1 kapalı IRİX modu ile tam olarak kullanılan çekirdek % oranında ve 4 çekirdek 100%.

Bu, top Linux varsayılan olarak ~100% olarak sonsuz bir döngü gösterir ve Windows ~25%, ve tam olarak aynı anlama geliyor gibi gösterilir.

top ile çalışırken, IRİX moduna geçiş yapabilirsinizShiftben. Bu numaraları maç yapacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AndyMcMillinTV

    AndyMcMillin

    6 HAZİRAN 2007
  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • Candyrat Records

    Candyrat Rec

    10 Mayıs 2006