it-swarm-tr.com

Hangi işlemlerin tüm belleği aldığını nasıl öğrenebilirim?

Üst CPU kullanımı gibi bir şey arıyorum. Üstte bunu yapan bir komut satırı argümanı var mı? Şu anda hafızam o kadar dolu ki 'man top' bile hafızada kalmadı :)

87
ripper234

top içinden aşağıdakileri deneyebilirsiniz:

  • Basın SHIFT+f
  • % MEM'e karşılık gelen Harfe basın
  • Basın ENTER

Ayrıca deneyebilirsiniz:

$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5

Bu, bellek kullanımına göre ilk 5 işlemi verecektir.

107
Steven D

Yüklediyseniz htop 'ı beğendikten sonra düğmesine basabilirsiniz. f6down arrow (MEM%), enter hafızaya göre sıralamak.

11
xenoterracide

top başladığında, F alan ekranına geçmek için tuşuna basın. Solda listelenen tuşa basarak listelenen alanlardan birini seçin; muhtemelen istiyorsun N için MEM%

7
Michael Mrozek

Solaris'te ihtiyacınız olan komut:

prstat -a -s size

Bu, tüm işlemleri azalan işlem görüntü boyutuna göre listeler. İkincisinin, yerleşik fiziksel bellek kullanımını değil, işletim sistemi tarafından işlenen belleğe dayandığını unutmayın.

Solaris için sözde "top" sürümleri vardır, ancak bunlar standart kurulumun bir parçası değildir.

6
Joel Hoff

top için güzel bir alternatif htop. Kontrol edin, normal tepeden çok daha kullanıcı dostudur.

5
Klark

Birden fazla yolla elde edilebilir, En sevdiğim:

PS yolu:

  1. [[email protected] ~]$ ps -eo pid,cmd,%cpu,%mem --sort=-%mem

    Nerede,

    • -e: Tüm işlemleri seçmek için
    • -o: Çıktı biçimine uygulamak için
    • pid, cmd, %cpu, %mem: Çıktı biçimi tam sırada. Burada, %cpu Ve %mem Yerine pcpu ve pmem kullanılabilir.
    • Ama ne yazık ki (neden bilmiyorum) çalışmıyor bazı makinelerde (Oracle Linux) ve bazı eski makinelerde. Aşağıdaki benzer alternatifleri kullanabilirsiniz.
  2. [[email protected] ~]$ ps -eo pid,cmd,%cpu,%mem --sort -rss

    Nerede,

    • -rss: Yerleşik set boyutu, bir görevin kullandığı değiştirilmemiş fiziksel bellek
  3. [[email protected] ~]$ ps --cols 120 aux --sort -rss

    Nerede,

    • --cols 100: Çıktının sütun genişliğini bazen cmd çok uzadığından belirtmek için. Bağımsız değişkenlere sahip kısıtlanmış komutlar istemiyorsanız bu gerekli değildir.
    • aux: BSD sözdizimini kullanarak sistemdeki her işlemi görmek için

En üst yol:

[ari[email protected] ~]$ top -b -o +%MEM

Nerede,

  • -b: top'yi batch modu olarak kullanmak için.
  • -o: Sıralama alan adını ve ardından alan adını geçersiz kılmak için %MEM

Çıktıyı kontrol etmek için her zaman head ve/veya tail kullanabilirsiniz.

1
muhammad

Bu komut en çok bellek tüketen işlemleri tanımlar:

ps -A --sort -rss -o pid,pmem:40,cmd:500 | head -n 6 | tr -s " " ";z"
1
user90191

Globally: Splunk, ELK gibi geçmiş günlüklerini kaydetmek için her zaman bir günlük analiz aracı kullanılması önerilir. Böylece sorgu dilini kullanarak PID'leri ve kullanımını CPU ve bellek ile kolayca alabilirsiniz.

SUNUCU/OS DÜZEYİNDE: İçeriden aşağıdakileri deneyebilirsiniz:

 Press SHIFT+M  ---> This will give you a process which takes more memory in descending order.

Ayrıca deneyebilirsiniz:

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10

Bu, bellek kullanımına göre ilk 10 işlemi verecektir. Ayrıca geçmiş için değil RAM kullanımını aynı anda bulmak için vmstat yardımcı programını kullanabilirsiniz.

0
Santosh Garole

Deneyebilirsin ps aux --sort -rss | head veya ps aux | sort -nk +4 | tail

0
David Okwii