Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 26139|Yanıt: 0

[Kaynak] [Pratik Yapın] Bir Linux sunucusunda Java uygulamasını çalıştırıp telefonu kapatma sorununu çözün

[Bağlantıyı kopyala]
Yayınlandı 9.09.2021 10:52:50 | | | |
Sabah geliştirici ortamının web sitesini açın, menü listesi verileri yüklenmemiş ve arayüzde gerçekten bir sorun olduğunu görüyorum.

Java uygulamasını görmek için sunucuya giriş yapınÇıkış dosyalarını ve günlük dosyalarını yönlendirme, son log zamanının aşağıdaki şekilde gösterildiği gibi 21:15'te kaldığını buldu:



Sistem kayıtlarını kontrol edin

8 Eylül 21:30:05 centos7-dev04 kernel: Hafızadan çıkar: 32452 (java) skoru 84 veya kurban çocuğu
8 Eylül 21:30:05 centos7-dev04 kernel: Kill process 32452 (java), UID 0, total-vm:7016412kB, anon-rss:1421400kB, file-rss:0kB, shmem-rss:0kB



Bir uygulamanın Linux tarafından durdurulduğundan şüpheleniyorsanız, aşağıdaki komutu kullanarak hızlıca sorun giderebilirsiniz:



Bellek kullanımını kontrol etmek için komut şöyledir:



Geçmeküst komut, ardından M tipiAşağıdaki şekilde gösterildiği gibi, sürecin kullandığı belleğe göre sıralanmış anahtarlar:

PID: Sürecin kimliği
KULLANICI: Süreç sahibi
PR: Sürecin önceliği, öncelik ne kadar küçükse, öncelik o kadar çok yürütülür
NInice: Değer
VIRT: Süreç tarafından işgal edilen sanal bellek
RES: Sürecin işgal ettiği fiziksel hafıza
SHR: Süreç tarafından kullanılan paylaşılan bellek
S: Sürecin durumu. S hibernasyonu, R çalışmayı, Z çıkmazı, N ise süreç öncelik değerinin negatif olduğunu belirtir
%CPU: Süreç tarafından kullanılan CPU kullanım oranı
%MEM: Süreç tarafından kullanılan fiziksel bellek ve toplam bellek yüzdesi
TIME+: Süreç başladıktan sonra harcadığı toplam CPU süresi, yani CPU kullanım süresinin kümülatif değeri.
KOMUT: Süreç başlatma komutunun adı



Uygulamanın kapanmasının sebebi, sunucunun belleği tükenmesi ve Linux'un bazı kurallara göre Java uygulamasını otomatik olarak kapatmasıydı; sonuçta Java uygulaması çok büyük bir bellek kaplıyor.

Hangi Java uygulamasına özgü olduğunu aşağıdaki komutu kullanarak kontrol edebilirsiniz:



çözüm

1. Sunucu belleğini artırmak
2. Java uygulamaları için bellek kullanımını sınırlamak
3. Bazı Java uygulamalarını diğer sunuculara taşıyın





Önceki:Docker'da Linux Overlay dosya sistemi
Önümüzdeki:Docker görüntü katmanını analiz etmek için iki araç önerilir
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com