NVIDIA Jetson platformu, popüler açık kaynaklı modelleri desteklerken güçlü bir runtime performansı sunar. Ancak bulut ortamlarının aksine, CPU ve GPU’nun kısıtlı kaynakları aynı havuzda paylaştığı edge cihazlarda memory footprint (bellek ayak izi), bir sistemin çalışıp çalışmayacağını belirleyen en temel unsurdur. Verimsiz bellek kullanımı; bottleneck’lere (darboğaz), gecikme artışlarına veya sistemin çökmesine (OOM – Out of Memory) neden olabilir.
Bu yazıda, NVIDIA Jetson sistemlerinde performansı ve verimliliği en üst düzeye çıkarmak için kullanabileceğiniz 5 katmanlı bellek optimizasyon stratejilerini NVIDIA’nın sunduğu veriler eşliğinde inceleyeceğiz.

Şekil 1. Bir NVIDIA donanım platformundaki tipik Edge AI yazılım yığını
1. Temel Katmanlar: BSP ve JetPack Optimizasyonları
NVIDIA Jetson Board Support Package (BSP) ve JetPack katmanı yazılım yığınının temelini oluşturur. Bu katmanda, kullanılmayan servisleri devre dışı bırakarak çekirdek işlevselliği etkilemeden çok ciddi miktarda RAM’i yapay zeka modelleriniz için serbest bırakabilirsiniz.
Aşağıdaki tablo, Jetson Orin NX ve Orin Nano cihazlarında uygulanabilecek bazı temel optimizasyonları ve kazandırdıkları bellek miktarlarını göstermektedir:
| Optimizasyon Ayarı | Geri Kazanılabilecek Bellek | Uygulama Komutu / Yöntemi |
|---|---|---|
| GUI’yi Kapatmak: Ekran ve UI ile ilgili hizmetleri devre dışı bırakır. | 865 MB’a kadar | sudo systemctl set-default multi-user.target |
| Gereksiz Servisleri Kapatmak: Ağ bağlantısı, journaling gibi temel olmayan hizmetler. | 32 MB’a kadar | sudo systemctl disable <servis-adi> |
Tablo 1: BSP ve JetPack seviyesindeki bellek optimizasyon ayarları
Özellikle sistemde arayüz gerekmeyen (headless) durumlarda masaüstünü kapatmak, sadece tek bir komutla neredeyse 1 GB’a yakın bellek kazandırır.
2. “Carveout” (Ayrılmış Bellek) Optimizasyonu
NVIDIA Jetson cihazları başlatılırken, belirli donanım motorları, kameralar ve ekran alt sistemleri için ayrılmış fiziksel bellek alanları (Carveout) yaratılır. Bu alanlara Linux veya CUDA tarafından erişilemez. Eğer projenizde ekran veya kameraya ihtiyaç yoksa, Device Tree üzerinden bu alanları devre dışı bırakarak sisteme fazladan bellek kazandırabilirsiniz.
| Carveout Alanı | Ne Zaman Kapatılmalı? | Nasıl Kapatılmalı? | Geri Kazanılan Bellek (DRAM) |
|---|---|---|---|
| CARVEOUT_DCE_TSEC | Ekrana (Display) ihtiyaç duyulmadığında | Not 1’i referans alın ve cihazı yeniden flaşlayın. | Toplam ~68 MB |
| CARVEOUT_DCE | Ekrana (Display) ihtiyaç duyulmadığında | Not 1’i referans alın ve cihazı yeniden flaşlayın. | Toplam ~68 MB |
| CARVEOUT_DISP_EARLY_BOOT_FB | Ekrana (Display) ihtiyaç duyulmadığında | Not 1’i referans alın ve cihazı yeniden flaşlayın. | Toplam ~68 MB |
| CARVEOUT_TSEC_DCE | Ekrana (Display) ihtiyaç duyulmadığında | Not 1’i referans alın ve cihazı yeniden flaşlayın. | Toplam ~68 MB |
| CARVEOUT_CAMERA_TASKLIST | Kameraya ihtiyaç duyulmadığında | Not 2’yi referans alın ve cihazı yeniden flaşlayın. | Toplam ~33 MB |
| CARVEOUT_RCE | Kameraya ihtiyaç duyulmadığında | Not 2’yi referans alın ve cihazı yeniden flaşlayın. | Toplam ~33 MB |
Tablo 2: Çeşitli Carveout’lar için bellek optimizasyon ayarları
Linux_for_Tegra/bootloader/generic/BCT/tegra234-mb1-bct-misc-p3767-0000.dts dosyasındaki /misc/carveout/ düğümünün içine şu kod parçasını ekleyin:
Linux_for_Tegra/bootloader/tegra234-mb2-bct-common.dtsi dosyasındaki /mb2-misc/auxp_controls@3/ düğümünün içeriğini şu şekilde güncelleyin:
Linux_for_Tegra/bootloader/tegra234-mb2-bct-common.dtsi dosyasındaki /mb2-misc/auxp_ast_config@6 ve /mb2-misc/auxp_ast_config@7 düğümlerini tamamen kaldırın. Çekirdek dtb dosyasını dts dosyasına dönüştürmek için dtc aracını kullanın, /display@13800000 düğümünün durumunu disabled olarak işaretleyin ve ardından dts’yi tekrar çekirdek dtb dosyasına derleyin:
Linux_for_Tegra/bootloader/generic/BCT/tegra234-mb1-bct-misc-p3767-0000.dts dosyasının /misc/carveout/ düğümü içine aşağıdaki kod parçasını ekleyin:
Linux_for_Tegra/bootloader/tegra234-mb2-bct-common.dtsi dosyasındaki /mb2-misc/auxp_controls@2/ düğümünün içeriğini şu şekilde güncelleyin:
3. Kullanıcı Alanı ve Kernel Optimizasyonları
Jetson üzerinde toplam bellek hem CPU hem de GPU (donanım/NvMap) tahsislerini içerir.
- CPU Tarafı: procrank aracını derleyip çalıştırarak fiziksel bellek kullanımını (PSS) detaylıca görebilirsiniz. gnome-shell, Xorg veya açık unutulmuş Python süreçlerini sonlandırmak önemlidir.
- Donanım/GPU Tarafı: sudo cat /sys/kernel/debug/nvmap/iovmm/clients komutu ile NvMap (CUDA, video pipeline’ları) tarafından rezerve edilen belleği görebilirsiniz. Gereksiz grafik pipeline’larını sonlandırmak AI iş yüklerine alan açacaktır.
- SWIOTLB Ayarı (Kernel): Donanımsal IOMMU’ya sahip Orin platformlarında genellikle gereksiz olan SWIOTLB rezervasyonunu, kernel başlatma parametresi olan “swiotlb=” değerini düzenleyerek küçültebilir ve belleği optimize edebilirsiniz.
4. Inference Pipeline Optimizasyonu
Video ve sensör akışlarını işleyen NVIDIA DeepStream gibi framework’ler üzerinden gerçekleştirilen süreçlerde uygulanacak doğru mühendislik kararları memory footprint’i büyük ölçüde düşürür.
| Optimizasyon Ayarı | Geri Kazanılabilecek Bellek |
|---|---|
| BareMetal yerine Container Kullanımı | 70 MB’a kadar |
| Python yerine C++ Kullanımı | 84 MB’a kadar |
| Pipeline Ayarları: Tiler/OSD kapatmak ve FakeSink kullanmak | 258 MB’a kadar |
| TOPLAM POTANSİYEL TASARRUF | 412 MB |
Tablo3: DeepStream tarzı inference pipeline’ında belleği azaltmaya yardımcı olan yöntemler
5. Inference Framework’leri ve Model Niceleme (Quantization)
Son ve belki de en kritik adım, modelin kendisini cihazın kaynaklarına uydurmaktır. Modelleri çalıştırmak için vLLM, SGLang veya özellikle edge cihazlarda belleği harika yöneten Llama.cpp (veya TensorRT Edge-LLM) gibi inference altyapıları kullanılabilir.
Quantization: Ağırlıkları ve aktivasyonları yüksek hassasiyetli veri tiplerinden (örneğin FP16) daha düşük hassasiyetli veri tiplerine (örneğin INT4) dönüştürme işlemidir. NVIDIA mühendislerinin Orin Nano 8GB üzerinde Cosmos Reason 2 (2B parametreli VLM) ile yaptığı testler, quantization’ın etkisini açıkça göstermektedir:
| Model Formatı | Gerekli Bellek (VLM Çıkarımı) | 8GB Jetson Orin Nano Sonucu |
|---|---|---|
| FP16 (Orijinal) | 6.6 GB | Sistem çökmesi / OOM (Uygulamanın kalanı çalışamaz) |
| Q4_K_M (4-bit Quantization) | 2.2 GB | Başarılı. Uygulama ~4.4 GB kazanım ile sorunsuz çalışır. |
Tablo 4: 8GB bir cihazda donanım limitleri içinde kalmak için Quantization’ın önemi
Niceleme işlemi, hedeflenen kullanım senaryosu için belirgin doğruluk ve performans gereksinimlerine göre yönlendirilmelidir. Bir niceleme şeması seçmeden önce şunları tanımlayın:
- Kabul edilebilir minimum model kalitesi veya görev doğruluğu.
- Hedeflenen veri çıkışı (throughput) ve gecikme (latency).
- Dağıtım kısıtlamaları, özellikle de kullanılabilir GPU belleği.
Bu gereksinimler netleştikten sonra önerilen yaklaşım, daha düşük hassasiyetli niceleme seçeneklerini kademeli olarak değerlendirmektir. En yüksek doğruluklu temel seviyeden başlayın ve model artık gereken kalite eşiğini karşılamayana kadar desteklenen niceleme formatları boyunca aşağı doğru ilerleyin. Seçilen niceleme noktası, kullanım senaryosunun doğruluk gereksinimini hala karşılayabilen en düşük hassasiyet seviyesi olmalıdır; zira bu, genellikle en iyi bellek tasarrufunu ve verimliliği sağlar.

Şekil 2. Llama.cpp üzerinde Qwen3 4B modeli için INT4 ve BF16 karşılaştırması (Jetson Orin NX 16 GB)
Sonuç
Geliştiriciler olarak edge cihazlarda büyük dil modelleri ve otonom sistemler geliştirirken donanımın sınırlarına takılmak zorunda değiliz. Arka planda çalışan gereksiz bir GUI’yi kapatarak, kullanılmayan “Carveout” donanım alanlarını işletim sistemine geri döndürerek, pipeline’daki görselleştirme eklentilerinden kurtularak ve en önemlisi Quantization uygulayarak 8 GB’lık bir NVIDIA Jetson’da bile yüksek kapasiteli modelleri sorunsuzca koşturabiliriz.
Bu yaklaşımlar yalnızca modellerin sığmasını sağlamaz, aynı zamanda güç tüketimini (watt başına performansı) iyileştirir ve gecikmeyi azaltarak gerçek zamanlı stabilite sağlar.
👉 İhtiyacınıza uygun NVIDIA Jetson platformlarını incelemek ve satın almak için mağazamızı ziyaret edebilirsiniz.
Edge AI ve Jetson ekosistemiyle ilgili daha fazla optimizasyon taktiği ve rehber için OpenZeka blogunu takip etmeye devam edin!
OPENZEKA HABERLERİ
OPENZEKA HABERLERİ
Hesaplarınızda paylaşmak ister misiniz?





