Busybox'ta çekirdek dökümü oluşturmak için çalıştırılabilir komut dosyamızı çalıştıran başlatma komut dosyasına aşağıdaki parametreleri ekleyebiliriz. Bu nedenle, yazılım ve ortam değişkenlerini her başlattığımızda, herhangi bir çökme durumunda, çekirdeği dökmek için aşağıdaki satırları da betiğe kopyalayabiliriz.
Busybox'ta çekirdek dökümlerinin konumunu ayarlamak için proc dosya sistemini kullanarak çekirdek dosya yolunu ayarlayabilirsiniz. Örneğin, çekirdek dökümlerini almak istiyorsanız /tmp/crash/corefiles
:
mkdir -p /tmp/crash/corefiles
chmod 775 /tmp/crash/corefiles
echo "/tmp/crash/corefiles/%e.%s.core" > /proc/sys/kernel/core_pattern
Değişkenler:
% e dosya adı
% g , işlemin
% p altında çalıştığı gid, % s işlemin pid'i
% s , dökümü oluşturan sinyaldir
% t , dökümün gerçekleştiği zamandır
% u işlemin altında çalıştığı uid
Ayrıca, çekirdek dosya boyutunu ayarlamanız gerekir, aşağıdaki komut çekirdek dosya boyutunu sınırsız olarak ayarlar
ulimit -c unlimited
Şimdi bir işlemdeki her iş parçacığı için ayarlanan çekirdek dosya boyutunu kontrol etmek için şunu kullanarak kontrol edebiliriz:
cat /proc/<PID>/limits
Yukarıdaki komutun çıktısı:
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size unlimited unlimited bytes
Max open files 10000 10000 files
Max address space unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 31868 31868 processes
Max locked memory 65536 65536 bytes
Max file locks unlimited unlimited locks
Max pending signals 31868 31868 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Yukarıdaki çıktıdan da görebileceğimiz gibi maksimum çekirdek dosya boyutu sınırsız olarak ayarlanmıştır.
Daha fazla bilgi için lütfen bu bağlantıyı ziyaret edin.
Linux Uygulamaları Hata Ayıklama Teknikleri / Temel dosyalar