Bonjour,
Je suis en train de travailler sur la détection de CPU sous linux i386 pour notre parc serveurs (je m'attaquerai à l'avenir peut-être à celle d'AIX et de Solaris, si besoin).
L'objectif premier de mon employeur est d'avoir un décompte de CPU(socket)/Core/Logical_CPU fiable, car l'information est stratégique vis-à-vis des licences facturées par Core (par exemple Oracle).
Pour nous, le reste des infos (voltage, type de socket, etc...) est donc vu comme facultatif, voir non-pertinent. Nous avons donc choisi de refondre et simplifier le code lié au CPU (d'abord parce que je n'ai pas fait de Perl depuis 15 ans et aussi que je ne suis pas expert system unix) avant de l'enrichir en fonctionnalité et converger vers une version qui serait acceptable par l'équipe projet OCS.
Après l'analyse du code de l'agent, il semble que 2 propriétés gérées par le serveur OCS ne le sont pas pour l'instant par l'agent UNIX :
LOGICAL_CPU et CURRENT_ADDRESS_WIDTH ne sont en effet pas remontés par l'agent Unix.
L'info LOGICAL_CPU correspond, selon ma compréhension des choses, à l'info "siblings" de /proc/cpuinfo
Par contre, je me demande ce qui doit être remonté dans CURRENT_ADDRESS_WIDTH ? Sous Linux i386, est-on toujours avec DATA_WIDTH = CURRENT_ADDRESS_WIDTH, et sinon, où est-on susceptible de trouver cette info ?
Je vous remercie de vos éléments de réponses éventuels, cela me permettra de continuer de travailler sur les fichiers CPU.pm et Common.pm de l'agent Unix et de contribuer plus efficacement.
Mes travaux sont ici : https://github.com/OCSInventory-NG/UnixAgent/compare/master...Bexounet:master