'u uygulama modülümüzün birinde döndürür, calloc() başarısız ve NULL döndürüyor. Tahsis etmeye çalıştığı bellek miktarı, 9292 baytlık bir yapıdır. İşletim sistemi AIX 7.1 ve çalışan VIOS 2.2.1.3.calloc başarısız olur ve NULL
Makinede 2 + GB ram var ve bellek yetersizliği ile ilgili bir sorun yok gibi görünüyor. Aynı uygulama modülü, sorunlu kutuyla aynı konfigürasyonlara sahip olan diğer kutulardan birinde iyi çalışıyor. İzleme, her iki kutudan gelen bir bellek pasajıdır ve aynıdır!
ÇALIŞMA KUTU:
RLIMIT_AS (infinite) (infinite) RLIMIT_CORE 1073741312 (infinite) RLIMIT_CPU (infinite) (infinite) RLIMIT_DATA 134217728 (infinite) RLIMIT_FSIZE (infinite) (infinite) RLIMIT_NOFILE 2000 (infinite) RLIMIT_RSS 33554432 (infinite) RLIMIT_STACK 33554432 2147483646
SORUNLU KUTU:
RLIMIT_AS (infinite) (infinite) RLIMIT_CORE 1073741312 (infinite) RLIMIT_CPU (infinite) (infinite) RLIMIT_DATA 134217728 (infinite) RLIMIT_FSIZE (infinite) (infinite) RLIMIT_NOFILE 2000 (infinite) RLIMIT_RSS 33554432 (infinite) RLIMIT_STACK 33554432 2147483646
Gerçekten (neden calloc çözemiyorum olarak clueless değilim) bu kutuyu 9292 bayt için bile başarısız oluyor.
Teşekkür
Belki de bellek parçalanması? Tahsise uyacak kadar büyük bir blok yok mu? Atama başarısız olduğunda, örn. Ne yazdığını görmek için "errno"? –
Evet Aynısını düşünüyordum, ama ispatlamak ya da somut olarak bilmenin bir yolu var mı? ENOMEM hata numarası! Truss çıkışı bu hatayı gösteriyor! süreci kirişin bir pasajı, bu lseek göstermektedir (3, 0, 1) \t \t \t \t \t = 4318 lseek (3, 0, 1) \t \t \t \t \t = 4318 lseek (3, 0, 1) \t \t \t \t \t = 4318 lseek (3, 242, 0) \t \t \t \t = 242 kread (3, "\ t M Inorg V ersio" .., 4096) \t = 4096 lseek (3, 0, 1 \t \t= 4338 lseek (3, 222, 0) \t \t \t \t = 222 __libc_sbrk (0X00000000) \t \t \t \t hata 12. ENOMEM __libc_sbrk (0X00000000) \t \t \t \t hata 12. ENOMEM __libc_sbrk (0x00000000 223.210 \t \t) \t \t \t \t hata 12. ENOMEM __libc_sbrk (0x00000000) \t \t \t \t hata 12. ENOMEM __l ibc_sbrk (0x00000000) \t \t \t \t Err # 12 ENOMEM – k2ibegin
Bize 'calloc' çağrısı ve sonucunu kontrol eden kod da dahil olmak üzere kodu gösterin. –