AMD Fusion

Ich habe da mal ein AMD Fusion Bord in die Hände bekommen. Soweit lief unter Ubuntu 10.04.3 LTS auch alles auf an hip, bis auf die Graphikbeschleunigung. Dafür habe ich den Proprietären AMD Treiber verwendet und tadellos zum laufen bekommen.

Was allerdings sehr enttäuscht sind die I/O perforans werte. Wie hier im Test aufgeführt liegt der Durchsatz bei nur 53MB, knapp die hälfte von 110MB was die Platte eigentlich kann.

# time $(dd if=/dev/zero of=/root/test.img bs=512 count=2048000 conv=sync)
2048000+0 records in
2048000+0 records out
1048576000 bytes (1.0 GB) copied, 19.6919 s, 53.2 MB/s

real	0m19.712s
user	0m0.760s
sys	0m10.730s
# lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] Device 1510
00:01.0 VGA compatible controller: ATI Technologies Inc Device 9802
00:01.1 Audio device: ATI Technologies Inc Device 1314
00:04.0 PCI bridge: Advanced Micro Devices [AMD] Device 1512
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode] (rev 40)
00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 42)
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA) (rev 40)
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller (rev 40)
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (rev 40)
00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller
00:15.0 PCI bridge: ATI Technologies Inc Device 43a0
00:15.1 PCI bridge: ATI Technologies Inc Device 43a1
00:16.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:16.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] Device 1700 (rev 43)
00:18.1 Host bridge: Advanced Micro Devices [AMD] Device 1701
00:18.2 Host bridge: Advanced Micro Devices [AMD] Device 1702
00:18.3 Host bridge: Advanced Micro Devices [AMD] Device 1703
00:18.4 Host bridge: Advanced Micro Devices [AMD] Device 1704
00:18.5 Host bridge: Advanced Micro Devices [AMD] Device 1718
00:18.6 Host bridge: Advanced Micro Devices [AMD] Device 1716
00:18.7 Host bridge: Advanced Micro Devices [AMD] Device 1719
03:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 4380 (rev 10)
04:00.0 USB Controller: NEC Corporation Device 0194 (rev 03)
# cat /proc/cpuinfo 
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 20
model		: 1
model name	: AMD E-350 Processor
stepping	: 0
cpu MHz		: 1600.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 6
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc nonstop_tsc extd_apicid pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat
bogomips	: 3200.50
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor	: 1
vendor_id	: AuthenticAMD
...

Ubuntu 11.10 (Oneiric Ocelot)

ist auf unserem Mirror angekommen. Jetzt fehlt noch ein Wochenende um es zu testen.

mirror.bauhuette.fh-aachen.de/ubuntu-cd/11.10/

KSM auf KVM Server

KSM (Kernel Samepage Merging) ist eine Technik mit der RAM pages verglichen und gleiche Seiten ausgesiebt werden. Laufen z.b. auf einem Wirtssystem zwei VMs mit dem gleiche Kernel muss dieser, überspitzt dargestellt, nur einmal im RAM vorgehalten werden.

Wie lese ich die werte aus:
grep -v / /sys/kernel/mm/ksm/*

Was bedeuten diese Werte im Detail:
/sys/kernel/mm/ksm/full_scans:1546
wie oft alle zusammenführbar Bereiche gescannt wurden

/sys/kernel/mm/ksm/max_kernel_pages:1025500
insgesamt anzahl aller Seiten

/sys/kernel/mm/ksm/pages_shared:107994
wie viele gemeinsame Seiten gefunden wurden

/sys/kernel/mm/ksm/pages_sharing:484929
wie viele Seiten sind einzigartig, werden aber immer wieder für die Zusammenführung geprüft

/sys/kernel/mm/ksm/pages_to_scan:100 (rw)
wie vleie seiten pro durchlauf überprüft werden sollen
echo 100 > /sys/kernel/mm/ksm/pages_to_scan

/sys/kernel/mm/ksm/pages_unshared:1099675
wie viele Seiten einzigartig, aber immer wieder für die Zusammenführung geprüft

/sys/kernel/mm/ksm/pages_volatile:246482
wie viele Seiten ändern sich zu schnell

/sys/kernel/mm/ksm/run:1 (rw)
in dieser Datei setzt man den Status 1 / 0 ob ksm verwendet werden soll, in unsrem fall:
echo 1 > /sys/kernel/mm/ksm/run

/sys/kernel/mm/ksm/sleep_millisecs:20 (rw)
wie oft geprüft werden soll
echo 20 > /sys/kernel/mm/ksm/sleep_millisecs

Quelle: git.kernel.org

Welcher RAM ist verbaut

Heute musste ich RAM nachstecken, da ein guter Administrator nicht aufsteht um nachzuschauen welcher RAM verbaut ist hat er die Möglichkeit auf der Console nachzuschauen. Hierzu habe ich das Programm dmidecode verwendet.

sudo dmidecode | grep Size
Size: 2048 MB
Size: 2048 MB
Size: No Module Installed
Size: No Module Installed

In einer manpage nach einer Option suchen

Heute suchen wir in einer manpage ein Option die -w heißt. Um danach suchen zu können habe ich folgende möglich.

/^[ ^I]+-w
Das ^I wird durch strg + i erzeugt.

Wie liest man den regex jetzt:
Erst mal das / zum suchen. Dann ein ^ für alles was am anfang mit: [ ^I] einem Tabulator begint, + danach kommt -w die Option die ich suche.