Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Linux, bildirilen en son uzun süreli destek (LTS) Linux çekirdeği olan sürüm 6.18 üzerine kurulmuştur. Bu çekirdek kararlılık, güvenlik ve modern donanım ile bulut desteğinin dengeli bir birleşimini sağlar ve her Azure Linux dağıtımı için temel görevi görür.
Bu makalede çalışan çekirdeği inceleme, çekirdek modülleriyle çalışma ve Azure Linux sisteminde çalışma zamanında çekirdek parametrelerini görüntüleme veya değiştirme işlemleri gösterilmektedir.
Note
Azure Linux 4.0 artık preview içindedir ve kesinlikle değerlendirme ve test amaçlarıyla sınırlıdır. Üretim kullanımı için uygun değildir.
Prerequisites
- Kabuk erişimiyle kimlik doğrulaması yapabileceğiniz bir Azure Linux sistemi.
- Çekirdek modüllerini yüklemek veya kaldırmak ve çekirdek parametrelerini değiştirmek için gereken ayrıcalıklara sahip
sudobir kullanıcı hesabı.
Çalışan çekirdeği inceleyin
Aşağıdaki bölümlerde çekirdek sürümü, önyükleme parametreleri, derleme yapılandırması ve yüklü çekirdek paketleri dahil olmak üzere Azure Linux sisteminizin şu anda çalıştırılan çekirdek hakkında nasıl bilgi toplandığı gösterilmektedir.
Çekirdek sürümünü görüntüleme
Komutunu kullanarak sisteminizin şu anda çalıştırmış olduğu çekirdeğin uname -r tam sürümünü belirleyin:
uname -r
Çıktı, ana kaynak sürümünü, Azure Linux derleme tanımlayıcısını ve mimariyi içeren çekirdek sürüm dizesini gösterir.
Çekirdek önyükleme parametrelerini görüntüleme
Sistem başlatıldığında çekirdeğe iletilen önyükleme parametrelerini cat /proc/cmdline komutunu kullanarak görüntüleyin:
cat /proc/cmdline
Çıkış, kök cihaz, konsol ayarları ve önyükleme yükleyicisi tarafından uygulanan önyükleme zamanı seçenekleri de dahil olmak üzere çekirdek komut satırını gösterir.
Çekirdek derleme yapılandırmasını görüntüleme
komutunu kullanarak cat /boot/config-$(uname -r) çalışan çekirdeği derlemek için kullanılan tüm derleme zamanı yapılandırma seçeneklerini gösterin:
cat /boot/config-$(uname -r)
Bu komut, çekirdeğin nasıl derlendiğini belirleyen etkin ve devre dışı özellikler (CONFIG_*), güvenlik ayarları, ağ seçenekleri ve dosya sistemi desteği dahil olmak üzere binlerce derleme zamanı seçeneğini listeler.
Aşağıdaki örnekte çıkışın küçük bir bölümü gösterilmektedir:
CONFIG_RUSTC_HAS_FILE_WITH_NUL=y
CONFIG_RUSTC_HAS_FILE_AS_C_STR=y
CONFIG_IRQ_WORK=y
CONFIG_TIME_KUNIT_TEST=m
CONFIG_BPF_PRELOAD_UMD=m
CONFIG_IKHEADERS=m
# CONFIG_PREEMPT is not set
# CONFIG_PREEMPT_RT is not set
# CONFIG_PSI_DEFAULT_DISABLED is not set
Yapılandırma değeri anlamları
Her yapılandırma girdisi aşağıdaki değerlerden birini kullanır:
| Value | Meaning | Description |
|---|---|---|
=y |
Built-in | Özellik statik olarak ana çekirdek görüntüsüne derlenmiş ve çekirdek önyüklemesi yapılır başlamaz belleğe yüklenir. |
=m |
Module | Bu özellik, çekirdekte modül desteğinin etkinleştirilmesi koşuluyla yüklenebilir bir çekirdek modülü olarak derlenmiş olur. |
is not set |
Disabled | Özellik hiç derlenmemiş. Bu durum genellikle # CONFIG_X is not set gibi bir yorum satırı olarak gösterilir. |
Yüklü çekirdek paketlerini listeleme
Sisteminizde /boot/config-* öğesinin birden çok kopyası bulunabilir; her yüklü çekirdek için bir dosya olacak şekilde. Şu anda yüklü olan her çekirdek paketini aşağıdaki komutu kullanarak listeleyebilirsiniz:
rpm -qa | grep -i kernel
Çıktı, adında kernel içeren yüklü tüm paketleri içerir; buna çekirdek görüntüsü, çekirdek başlıkları ve çekirdekle ilgili araçlar da dahildir.
Çekirdek modülleriyle çalışma
Çekirdek modülleri, yeniden başlatma gerektirmeden cihaz sürücüleri ve dosya sistemi desteği gibi işlevleri eklemek veya kaldırmak için çekirdeğin isteğe bağlı olarak yükleyip kaldırabileceği kod parçalarıdır.
Diskte çekirdek modüllerini bulma
Çekirdek modülleri aşağıdaki dizinde depolanır:
/lib/modules
Yüklenen her çekirdek sürümünün içinde kendi alt dizini /lib/modulesvardır ve bu dizin, ilgili çekirdek için oluşturulmuş modülleri içerir.
Çalışan çekirdek için modüllere göz atın
Şu anda çalıştırdığınız çekirdeğin modüllerine aşağıdaki yolu kullanarak göz atın:
/lib/modules/$(uname -r)
Farklı bir çekirdek sürümü için modülleri inceleyin
altında /lib/moduleskullanılabilir dizinleri listeleyerek farklı bir yüklü çekirdek sürümünün modüllerini inceleyin:
ls /lib/modules
Çekirdek modülü dosyalarını bulma
Şu anda çalıştırdığınız çekirdek için her çekirdek modülü dosyasını (.ko) aşağıdaki komutu kullanarak bulun:
find /lib/modules/$(uname -r) -type f -name "*.ko*"
Modülleri yükleme, kaldırma ve listeleme
Bir çekirdek modülünü modprobe yüklemek veya kaldırmak için komutunu kullanın ve şu anda çekirdekte hangi modüllerin lsmod yüklendiğini görmek için komutunu kullanın.
Çekirdek modülü yükleme
Aşağıdaki komutu kullanarak bir modül yükleyin.
<MODULE_NAME> öğesini, yüklemek istediğiniz modülün adıyla değiştirin:
sudo modprobe <MODULE_NAME>
Çekirdek modülünü bellekten çıkar
Aşağıdaki komutu kullanarak modülü kaldırın.
<MODULE_NAME> yerine, kaldırmak istediğiniz modülün adını yazın:
sudo modprobe -r <MODULE_NAME>
Şu anda yüklü olan çekirdek modüllerini listeleme
Aşağıdaki komutu kullanarak çekirdekte yüklü olan modülleri listeleyin:
lsmod
Çıkışta yüklenen her modül, kullandığı bellek miktarı ve buna bağlı modüller veya alt sistemler listelenir.
Çalışma zamanında çekirdek parametrelerini görüntüleme ve değiştirme
sysctl Sistem çalışırken Linux çekirdek parametrelerini görüntülemek ve değiştirmek için aracını kullanın. Çekirdek parametreleri aşağıdaki gibi alanları kontrol eder:
- Ağ davranışı.
- Bellek ayırma.
- Genel sistem davranışı.
- Dosya sistemi ve G/Ç davranışı.
- Çekirdek güvenlik özellikleri.
Tüm çekirdek parametrelerini görüntüleme
Aşağıdaki komutu kullanarak her çekirdek parametresini ve geçerli değerini görüntüleyin:
sudo sysctl -a
Aşağıdaki örnekte çıkışın küçük bir bölümü gösterilmektedir:
kernel.ftrace_dump_on_oops = 0
kernel.oops_all_cpu_backtrace = 0
kernel.oops_limit = 10000
kernel.panic_on_oops = 0
Tek bir çekirdek parametresini görüntüleme
Bir parametreyi görüntülemek için adını sysctl öğesine geçirin. Aşağıdaki örnek komut, değerinin nasıl görüntüleyebileceğinizi kernel.panic_on_oopsgösterir:
sysctl kernel.panic_on_oops
Geçici çekirdek parametresi ayarlama
Geçerli önyükleme için bir çekirdek parametresini yalnızca aşağıdaki komutu kullanarak değiştirin.
<SYSCTL_PARAMETER> ve <VALUE> öğelerini sırasıyla parametre adı ve ayarlamak istediğiniz değerle değiştirin:
sudo sysctl -w <SYSCTL_PARAMETER>=<VALUE>
Değişiklik hemen geçerli olur ve bir sonraki yeniden başlatmaya kadar etkin kalır.
Kalıcı çekirdek parametresi ayarlama
Bir çekirdek parametre değişikliğinin yeniden başlatmalar arasında kalıcı olmasını sağlayın, parametresini
/etc/sysctl.d/99-example.confaşağıdaki biçimde ekleyin:<SYSCTL_PARAMETER>=<VALUE>Aşağıdaki komutu kullanarak güncelleştirilmiş yapılandırmayı yeniden başlatmadan uygulayın:
sudo sysctl --systemBaşarıyla çalıştırıldıktan sonra
sudo sysctl --system, yeni değer çalışan çekirdeğine uygulanır ve sistem her başlatıldığında otomatik olarak yeniden uygulanır.
Kdump'ı etkinleştirme
Important
Kdump, kilitlenme dökümlerini depolamak için ayrılmış bir disk alanı gerektirir. Bir kilitlenme oluştuğunda alanın tükenmesini önlemek için, /var/crash öğesinin sistemin toplam fiziksel belleği kadar en az alana sahip bir diske bağlandığından emin olun.
Aşağıdaki komutu kullanarak kdump-utils ve makedumpfile paketlerini yükleyin:
sudo dnf install -y kdump-utils makedumpfileAşağıdaki komutu kullanarak eklenecek önerilen çökme çekirdeği boyutunu belirleyin:
sudo kdumpctl estimateÇıktıda Önerilen crashkernel değerine bakın. Örneğin, aşağıdaki çıktıda önerilen 256M crashkernel boyutu gösterilmektedir:
kdump: Rebuilding /boot/initramfs-6.18.5-1.8.azl4~20260420.x86_64kdump.img Reserved crashkernel: 0M Recommended crashkernel: 256M Kernel image size: 56M Kernel modules size: 11M Initramfs size: 35M Runtime reservation: 16M Large modules: mlx5_core: 2826240 cfg80211: 1380352 kvm: 1433600 btrfs: 2097152 WARNING: Current crashkernel size is lower than recommended size 256M.Aşağıdaki komutu kullanarak önerilen crashkernel değerini çekirdek önyükleme parametrelerine ekleyin:
sudo grubby --args="crashkernel=256M" --update-kernel=ALLAşağıdaki komutu kullanarak önyükleme işlemi sırasında kdump systemd hizmetini otomatik olarak başlatacak şekilde yapılandırın:
sudo systemctl enable kdump.serviceÖrnek çıkış:
Created symlink '/etc/systemd/system/multi-user.target.wants/kdump.service' → '/usr/lib/systemd/system/kdump.service'.Değişikliğin etkili olması için sisteminizi yeniden başlatın.
Yeniden başlatma işleminden sonra aşağıdaki komutu kullanarak kdump'un çalışır durumda olduğunu doğrulayabilirsiniz:
sudo kdumpctl statusÖrnek çıkış:
kdump: Kdump is operational kdump: Notice: No vmcore creation test performed!
İlgili içerik
Linux çekirdek parametreleri ve sysctl aracı hakkında daha fazla bilgi için aşağıdaki yukarı akış kaynaklarına bakın:
-
Çekirdek
sysctlparametreleri:kernel.*altında sunulan her parametre için, izin verilen değerler ve varsayılan davranış dahil olmak üzere üst kaynak başvurusu. -
sysctl(8)man sayfası:sysctldrop-in dosyalarından yapılandırmanın nasıl yükleneceği de dahil olmak üzere,/etc/sysctl.d/aracının tam komut satırı başvurusu.