J'ai un problème déroutant. J'ai une bibliothèque qui utilise sg pour exécuter des CDB personnalisés. Il y a quelques systèmes qui ont régulièrement des problèmes d'allocation de mémoire dans sg . Habituellement, le pilote sg a une limite stricte d'environ 4 Mo, mais nous le voyons sur ces quelques systèmes avec des demandes de ~ 2,3 Mo. Autrement dit, les CDB se préparent à allouer pour un transfert de 2,3 Mo. Il ne devrait pas y avoir de problème ici: 2.3 <4.0.
Maintenant, le profil de la machine. Il s'agit d'un processeur 64 bits mais exécute CentOS 6.0 32 bits (je ne les ai pas construits et je n'ai rien à voir avec cette décision). La version du noyau pour cette distribution CentOS est 2.6.32. Ils ont 16 Go de RAM.
Voici à quoi ressemble l'utilisation de la mémoire sur le système (cependant, parce que cette erreur se produit pendant les tests automatisés, je n'ai pas encore vérifié si cela reflète l'état lorsque cet errno est renvoyé par sg ).
top - 00:54:46 up 5 days, 22:05, 1 user, load average: 0.00, 0.01, 0.21
Tasks: 297 total, 1 running, 296 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 15888480k total, 9460408k used, 6428072k free, 258280k buffers
Swap: 4194296k total, 0k used, 4194296k free, 8497424k cached
J'ai trouvé cet article du Linux Journal qui concerne l'allocation de mémoire dans le noyau. L'article est daté mais semble concerner le 2.6 (quelques commentaires sur l'auteur en tête). L'article mentionne que le noyau est limité à environ 1 Go de mémoire (bien qu'il ne soit pas tout à fait clair du texte s'il s'agit de 1 Go chacun pour physique et virtuel ou total). Je me demande si c'est une déclaration exacte pour 2.6.32. En fin de compte, je me demande si ces systèmes atteignent cette limite.
Bien que ce ne soit pas vraiment une réponse à mon problème, je m'interroge sur la véracité de la réclamation pour 2.6.32. Alors, quelle est la limite réelle de mémoire pour le noyau? Cela peut devoir être pris en compte pour le dépannage. N'importe quelles autres suggestions sont les bienvenues. Ce qui rend cela si déroutant, c'est que ces systèmes sont identiques à beaucoup d'autres qui ne présentent pas ce même problème.