mit "hinv"
Du willst es automatisieren? - Übergib hinv an das Programm, jede Zeile eine Variable und lass alles rausschmeissen bis auf "Main memory size: xxx MB"
Da das, entsprechend der Anzahl der CPUs, immer in einer anderen Zeile steht kannst Du nicht die Variable nach den Zeilen rauspicken sondern musst sie nach einem eindeutigem Kennzeichner suchen, eben "Main memory..."
Machst Du es in Perl als Array ist die Mem Size "@var[3]"
Ein Bsp - ich übergebe das an ein Perl Script:
---
2 270 MHZ IP27 Processors
CPU: MIPS R12000 Processor Chip Revision: 2.3
FPU: MIPS R12010 Floating Point Chip Revision: 2.3
Main memory size: 512 Mbytes
Instruction cache size: 32 Kbytes
Data cache size: 32 Kbytes
Secondary unified instruction/data cache size: 4 Mbytes
Integral SCSI controller 0: Version QL1040B (rev. 2), single ended
Disk drive: unit 1 on SCSI controller 0
Disk drive: unit 2 on SCSI controller 0
Disk drive: unit 3 on SCSI controller 0
Disk drive: unit 4 on SCSI controller 0
Disk drive: unit 5 on SCSI controller 0
Integral SCSI controller 1: Version QL1040B (rev. 2), single ended
CDROM: unit 1 on SCSI controller 1
IOC3/IOC4 serial port: tty1
IOC3/IOC4 serial port: tty2
IOC3 parallel port: plp1
Integral Fast Ethernet: ef0, version 1, module 1, slot MotherBoard, pci 2
Origin 200 base I/O, module 1 slot 1
IOC3/IOC4 external interrupts: 1
---
nun habe ich x Vars - eben für jede Zeile eine. Nun mach ich aus jeder scalaren eine Array somit kann ich die Variablen nach Werten durchsuchen und kann die einzelnen Werte ändern.
Jetzt durchsuche ich die Arrays nach @var[0] = Main; - so hat das Programm die Variable rausgepickt die ich wissen will, eben die Memsize. Weiter weiss ich dass beim Hinv die schreibweise immer die selbe ist. Sprich
- = Main; [1] = memory; etc [3] eben = 512 bei mir. Da die Werte immer in MB angegeben werden (nehme ich an) kann ich mir [4] schenken.
Das ganze ist dann entweder ein Unterteil Deines Programms (sollte auch z. B. mit C oder C++ gehen) oder ein eigenständiges Scritp, wenn ja lass ihn die "512" in dem Bsp einfach in eine Datei schreiben die Du dann im eigentlichen Programm weiternutzt.
Jetzt steht zur Frage wie eine Origin2000 z. B. hinv ausspuckt iirc RAM pro CPU, hier musst Du eben noch die Option einbinden dass mehere RAM Arrays definiert werden dürfen und die am Ende addiert werden... sollte kein Problem sein hast Du ein hinv von einer Origin2000 oder sonst einer dicken Kiste zum spielen.
Umständlich aber funktioniert
bye
Mats