Wie geht's meinem Speicher? Was machen die Platten? Was habe ich eigentlich für ein Board in meinem Rechner? Was für Speichermodule hab' ich eigentlich? Ist denn noch ein PCI-Slot frei?
Prinzipiell kann man die meisten Fragen mit beherztem Einsatz eines Kreuzschlitzschraubenziehers lösen... Aber es gibt besseres.
Wie sieht's mit dem Speicher aus? memtest86 hat alles, um den vorhandenen Speicher auf Herz und Nieren zu testen. Nach dem Compilieren kann mit make eine Bootdiskette erstellen, die den eigentlichen Speichertest durchführt. Wer sich nicht an einen Compiler traut wird auf der Website auch mit fertigen Diskimages bedient.
Der eigentliche Test läuft ohne Betriebssystem, es wird direkt von Boodiskette, BootCD oder aus eigenem Bootimage von der Platte gebootet.
Der Klassiker unter den Plattenperformance Tests ist bonnie++. bonnie++ tut der jeweiligen Platte Gewalt an, indem es riesige Files erzeugt, wild darauf zugreift und wieder löscht oder Unmengen von Files in einem Verzeichnis erzeugt, liest und vernichtet. bonnie++ läuft dabei stundenlang und die Ergebnisse werden im CSV-Format ausgegeben. Zusätzliche Tools stellen die Ergebnisse als Text oder HTML übersichtlich dar.
Mit den Ergebnissen kann man prima den Erfolg der Optimierung mit hdparm überprüfen, die besten Parameter für die Formatierung ausknobeln oder einfach bei anderen Linux-Freaks angeben
Auch tiobench dient zum Bestimmen der Festplattenperformance. Allerdings versucht tiobench dem Problem gleichzeitiger Zugriffe zu Leibe zu rücken, indem es mit immer mehr Prozessen auf eine Datei zugreift. Damit misst es vor allem, wie gut Betriebssystem und Filesystem mit gleichzeitigen Zugriffen zurecht kommt.
crashme ist ein wahrhaft grausames Tool, das einfach nur zufällige Zeichenketten erzeugt und sie dann in einem Sohnprozeß ausführt. Die Theorie sagt, dass irgendwann zufällig Code erzeugt wird, der einen Fehler im Kernel aufdeckt. Man sollte crashme auf keinen Fall starten, wenn man keine Sicherung hat...
Was nützt der rattenschnelle Rechner, wenn die IDE-Platten im PIO-Mode vor sich
hindümpeln? Ein Blick auf hdparm, das eigentlich jeder Distribution
beiliegt, lohnt sich durchaus. Hier kann man die Platten in einen wesentlich günstigeren
Modus schalten. Herumexperimentieren sollte man damit aber nur, wenn man vorher
alle wichtigen Daten gesichert hat oder das System sowieso gerade neu aufgesetzt
ist. Datenverluste nach dem Reboot sind durchaus möglich, wenn man die falschen
Parameter erwischt ;). google hat unzählige Tips zu hdparm.
Umfassende Auskunft über Prozessor, Motherboard mit allen Slots, Slotbelegung,
Hersteller, Seriennummern usw gibt
midecode. Bei DMI handelt es sich
um das "Desktop Management Interface", es wird von fast allen einigermassen modernen
Mainboards unterstützt. Beim Aufruf von dmidecode ergiessen sich dann eine
gewaltige Fülle von Systeminformationen über den Admin, unter anderem Seriennummern
von Board, Karten und Prozessor, Version des BIOS, Größe und Typ der Prozessorcaches,
Größe, Typ und Hersteller der einzelnen Memories usw. usf. Auch im /proc stehen Unmengen an Informationen über die Hardware. Nur
steht das da alles über ein recht großes Filesystem verstreut drin. Das ist
der Einsatz für si von Joe Turgeon. si sammelt eine
Fülle von Informationen aus dem /proc und zeigt sie übersichtlich an, auf
Wunsch sogar in Farbe. Und bunt. lspci gehört zur Standardinstallation der meisten Distributionen,
unbekannt ist es trotzdem. Mit lspci kann man Informationen über alle
Karten in den PCI-Slots und zu den meisten On-Board Devices bekommen. Sehr praktisch. Ein ganz anderes Kaliber sind die
smartmontools. Festplatten sind
schon seit längerem fast ausnahmslos mit einem integrierten Diagnosetool ausgestattet,
bei IDE-ATA Platten heisst das S.M.A.R.T.. Bei SCSI-Platten
gibt's das auch, da heisst das aber leicht irreführend Informal Exceptions.
Und für Tapes gibt es da TapeAlert. Alle drei Technologien bekommt man mit
den smartmontools in den Griff. Ein conjob wirft täglich die verschiedenen Plattenselbsttests an, der smartd
überwacht die S.M.A.R.T. Parameter der Platte und per EMail Alarm, wenn die Platte
ihren eigenen Ausfall in naher Zukunft voraussieht. Unkritische Änderungen der
Plattenmesswerte (einstellbar pre /etc/smartd.conf) werden per syslog
protokolliert. Schliesslich kann man mit
smartctl die Plattenparameter, -messwerte und die Ergebnisse der letzten
Selbsttests aus der Platte auslesen. Bei der Lektüre der Homepage kann man noch einiges über Hardware lernen... Ein Klassiker ist sar, der System Activity Report. sar
gehört zu jeder Distribution und ist meist in einem Paket namens sysstat
enthalten. Der Dämon sadc sammelt im 10- oder 5-Minuten-Takt
Informationen zu Netz-, Platten-, Prozessorlast und Speicherbelegung. Mit
sar kann man sich diese Informationen dann übersichtlich anzeigen lassen.
Wenn man es richtig bunt haben will, kann man sich noch das tcl-Tool
isag dazuinstallieren, dann bekommt man die Daten graphisch angezeigt. Hier zum Beispiel ein Ausschnitt der Daten der I/O Transfers am 1. April,
von 11:22 bis 11:32 wurde recht viel von den Platten gelesen... So kann man auch im Nachhinein Engpässe im System aufspüren. Die letzten
7 Tage werden standardmäßig vom sadc aufbewahrt.
Im laufenden Betrieb
dmidecode
root@python:~# dmidecode
# dmidecode 2.4
SMBIOS 2.3 present.
47 structures occupying 1651 bytes.
Table at 0x000F0FD0.
Handle 0x0000
DMI type 218, 17 bytes.
OEM-specific Type
Header and Data:
DA 11 00 00 B2 00 DE 00 08 00 00 00 00 FF FF 00
00
Handle 0x0001
DMI type 0, 20 bytes.
BIOS Information
Vendor: Intel Corp.
Version: A06
Release Date: 06/12/2002
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 512 kB
Characteristics:
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
5.25"/360 KB floppy services are supported (int 13h)
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 KB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
AGP is supported
LS-120 boot is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
[...und weitere 500 Zeilen Informationen ...]
si
root@python:~# dmidecode
si - Version 1.0 - By Joe Turgeon (jturgeon@isd.net)
si: Using Linux Kernel 2.4 Code
si: Loading Information
si: Dumping Information
si - Program Information:
si - Version 1.0 - By Joe Turgeon (jturgeon@isd.net)
System Information:
CPU Information:
Number of CPUs: 1
Processor #0 Information:
Vendor: GenuineIntel
Model: Intel(R) Pentium(R) 4 CPU 2.00GHz
Speed: 1993.568 MHz
Cache: 512 KB
CPU Usage By Priority Modes:
User Mode: 148 Seconds ( 0:02:28)
Nice Mode: 10 Seconds ( 0:00:10)
System Mode: 55 Seconds ( 0:00:55)
Idle Mode: 2737 Seconds ( 0:45:37)
Total CPU Usage By Priority Modes:
[... und weitere Informationen zum laufenden System ...]
lspci
root@python:~# lspci -v
00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
Flags: bus master, fast devsel, latency 0
Memory at f8000000 (32-bit, prefetchable) [size=64M]
Capabilities: [e4] #09 [9104]
Capabilities: [a0] AGP version 2.0
[...]
02:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
Subsystem: Allied Telesyn International: Unknown device 2503
Flags: bus master, medium devsel, latency 32, IRQ 11
I/O ports at d400 [size=256]
Memory at feafec00 (32-bit, non-prefetchable) [size=256]
Capabilities: [50] Power Management version 1
02:0b.0 SCSI storage controller: Adaptec AHA-294x / AIC-7871 (rev 03)
Flags: bus master, medium devsel, latency 32, IRQ 9
I/O ports at d800 [disabled] [size=256]
Memory at feaff000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at feae0000 [disabled] [size=64K]
smartmontools
root@python:~# smartctl -a /dev/hda
smartctl version 5.30 Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: WDC WD205BA
Serial Number: WD-meinsmeinsmeins
Firmware Version: 16.13M16
Device is: In smartctl database [for details use: -P show]
ATA Version is: 4
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sat Apr 3 08:40:12 2004 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x85) Offline data collection activity was
aborted by an interrupting command from host.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: (1568) seconds.
Offline data collection
capabilities: (0x1b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
No General Purpose Logging support.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 28) minutes.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 200 197 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0006 104 100 000 Old_age Always - 3850
4 Start_Stop_Count 0x0012 098 098 040 Old_age Always - 2933
5 Reallocated_Sector_Ct 0x0012 200 200 112 Old_age Always - 0
9 Power_On_Hours 0x0012 095 095 000 Old_age Always - 3894
10 Spin_Retry_Count 0x0013 100 100 051 Pre-fail Always - 0
11 Calibration_Retry_Count 0x0013 100 100 051 Pre-fail Always - 0
12 Power_Cycle_Count 0x0012 098 098 000 Old_age Always - 2915
196 Reallocated_Event_Count 0x0012 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0012 200 200 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0009 200 199 051 Pre-fail Offline - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 617 -
sar/sysstat
root@python# sar -b -f /var/log/sa/sa01
Linux 2.4.21-h1 (python) 04/01/04
[...]
08:02:01 tps rtps wtps bread/s bwrtn/s
08:12:01 31.05 3.24 27.80 54.83 547.77
08:22:01 23.63 2.08 21.55 39.67 436.15
08:32:01 25.77 1.82 23.95 36.28 536.15
08:42:01 34.14 5.47 28.67 105.89 583.81
08:52:01 34.40 2.25 32.15 76.65 718.85
09:02:00 40.64 6.02 34.62 84.96 669.78
09:12:00 30.64 1.43 29.21 47.13 572.36
09:22:00 35.89 7.68 28.22 197.80 596.67
09:32:00 29.61 3.64 25.97 69.05 511.35
09:42:00 36.84 9.00 27.84 121.35 594.01
09:52:00 30.12 2.65 27.47 42.65 559.55
10:02:01 37.33 6.03 31.30 111.64 718.03
10:12:01 33.15 5.49 27.66 75.37 585.23
10:22:01 42.09 8.59 33.50 203.71 782.53
10:32:01 36.68 3.80 32.89 50.25 746.99
10:42:01 45.43 15.88 29.54 545.83 643.08
10:52:01 35.95 10.07 25.88 128.79 555.77
11:02:00 65.84 31.03 34.81 421.38 728.22
11:12:00 38.43 6.22 32.22 113.12 834.88
11:22:00 40.44 9.99 30.45 294.77 678.96
11:32:00 69.92 40.70 29.22 1654.80 784.97
11:42:00 32.37 7.91 24.46 205.19 610.32
[...]
Average: 1.44 1.68 1.79 0.93 0.30
Links
| hampft! | -> |