[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Slow amd64 performance on VMware emulated 64-bit machine
- To: tech_(_at_)_openbsd_(_dot_)_org
- Subject: Slow amd64 performance on VMware emulated 64-bit machine
- From: Srebrenko Sehic <haver_(_at_)_insecure_(_dot_)_dk>
- Date: Wed, 16 Nov 2005 12:12:30 +0100
New VMware workstation 5.5 has the ability to emulate 64-bit machines.
I took a shoot and tried it with new 3.8-amd64 release. At the first
glance, everything seemed to work fine. However, after the initial
reboot, I noticed a rather sluggish performance. Doing a simple 'make'
for a given port, the system crawls to it's knees.
After some debugging, I noticed a rather high/unusual number of
software interrupts. With a completely idle system, the number of
software interrupts is steady around 100. Another amd64 (native)
machine I have, it's around 2-3 when the system is idle.
Another thing I noticed:
pci1 at ppb0 bus 1 "Intel 82371AB PIIX4 ISA" rev 0x08 at pci0 dev 7
function 0 not configured
If I install 3.8-i386 on the same emulated 64-bit hardware (dmesg.i386
below) everything works like a charm.
Any pointers?
Output of vmstat (-i, -s and -m) is below, including dmesg.amd64 output.
Here are some stats:
# uptime
6:39AM up 21 mins, 1 user, load averages: 0.17, 0.24, 0.30
# vmstat -s | grep software
138409 software interrupts
138409 / (21 minutes * 60) = 110 si/sec
# vmstat -i
interrupt total rate
irq14/pciide0 13452 10
irq11/em0 12159 9
irq1/pckbc0 6 0
irq0/clock 124241 100
irq8/rtc 159028 128
Total 308886 248
# vmstat -s
4096 bytes per page
61357 pages managed
48050 pages free
1884 pages active
1291 pages inactive
0 pages being paged out
111 pages wired
0 pages zeroed
4 pages reserved for pagedaemon
6 pages reserved for kernel
65519 swap pages
0 swap pages in use
122759 total anon's in system
121665 free anon's
340272 page faults
315319 traps
295373 interrupts
39422 cpu context switches
324 fpu context switches
138409 software interrupts
463363 syscalls
0 pagein operations
0 swap ins
0 swap outs
2305 forks
7 forks where vmspace is shared
0 number of times the pagedaemon woke up
0 revolutions of the clock hand
0 pages freed by pagedaemon
0 pages scanned by pagedaemon
0 pages reactivated by pagedaemon
0 busy pages found by pagedaemon
50061 total name lookups
cache hits (81% pos + 4% neg) system 0% per-directory
deletions 0%, falsehits 0%, toolong 0%
0 select collisions
# vmstat -m
Memory statistics by bucket size
Size In Use Free Requests HighWater Couldfree
16 1088 1216 233913 1280 14
32 639 641 131247 640 43
64 201 1143 20739 320 759
128 630 74 11804 160 4
256 94 34 2666 80 0
512 169 15 1994 40 0
1024 507 9 12068 20 0
2048 27 9 617 10 0
4096 25 2 2211 5 0
8192 3 0 3 5 0
16384 8 0 8 5 0
32768 1 0 1 5 0
65536 1 0 1 5 0
Memory usage type by bucket size
Size Type(s)
16 devbuf, pcb, sysctl, UFS mount, dirhash, exec, xform_data, VM swap,
UVM amap, UVM aobj, temp
32 devbuf, pcb, routetbl, ifaddr, namecache, sem, dirhash, in_multi,
exec, xform_data, UVM amap, temp
64 devbuf, pcb, routetbl, ifaddr, vnodes, dirhash, proc, VFS cluster,
in_multi, ether_multi, exec, VM swap, UVM amap, NDP, temp
128 devbuf, pcb, routetbl, ifaddr, sem, dirhash, ttys, pfkey data,
UVM amap, NDP
256 devbuf, routetbl, ifaddr, sysctl, vnodes, shm, UVM amap
512 devbuf, ifaddr, ioctlops, vnodes, VM map, dirhash, proc, NFS srvsock,
NFS daemon, ttys, newblk, UVM amap, temp
1024 devbuf, pcb, ioctlops, mount, UFS mount, shm, ttys, exec, UVM amap,
crypto data, temp
2048 devbuf, ifaddr, ioctlops, namecache, UFS mount, proc, VM swap,
UVM amap, UVM aobj
4096 devbuf, UFS mount, pagedep, UVM amap, temp
8192 devbuf, MSDOSFS mount, VM swap
16384 devbuf, NFS node, namecache, UFS quota, UFS mount, ISOFS mount,
inodedep, VM swap
32768 devbuf
65536 namecache
Memory statistics by type Type Kern
Type InUse MemUse HighUse Limit Requests Limit Limit Size(s)
devbuf 797 454K 456K 39099K 8953 0 0
16,32,64,128,256,512,1024,2048,4096,8192,16384,32768
pcb 16 5K 6K 39099K 65 0 0
16,32,64,128,1024
routetbl 63 7K 7K 39099K 85 0 0 32,64,128,256
ifaddr 43 13K 13K 39099K 43 0 0
32,64,128,256,512,2048
sysctl 2 1K 1K 39099K 2 0 0 16,256
ioctlops 0 0K 2K 39099K 24 0 0 512,1024,2048
mount 3 3K 4K 39099K 5 0 0 1024
NFS node 1 16K 16K 39099K 1 0 0 16384
vnodes 49 14K 88K 39099K 1267 0 0 64,256,512
namecache 4 83K 83K 39099K 4 0 0
32,2048,16384,65536
UFS quota 1 16K 16K 39099K 1 0 0 16384
UFS mount 13 38K 38K 39099K 13 0 0
16,1024,2048,4096,16384
shm 2 2K 2K 39099K 2 0 0 256,1024
VM map 3 2K 2K 39099K 3 0 0 512
sem 2 1K 1K 39099K 2 0 0 32,128
dirhash 24 5K 7K 39099K 69 0 0 16,32,64,128,512
proc 7 5K 5K 39099K 7 0 0 64,512,2048
VFS cluster 0 0K 1K 39099K 509 0 0 64
NFS srvsock 2 1K 1K 39099K 2 0 0 512
NFS daemon 1 1K 1K 39099K 1 0 0 512
in_multi 22 1K 1K 39099K 22 0 0 32,64
ether_multi 4 1K 1K 39099K 4 0 0 64
ISOFS mount 1 16K 16K 39099K 1 0 0 16384
MSDOSFS mount 1 8K 8K 39099K 1 0 0 8192
ttys 420 263K 263K 39099K 420 0 0 128,512,1024
exec 0 0K 3K 39099K 1743 0 0 16,32,64,1024
pfkey data 1 1K 1K 39099K 2 0 0 128
xform_data 0 0K 1K 39099K 83 0 0 16,32
pagedep 1 4K 4K 39099K 1 0 0 4096
inodedep 1 16K 16K 39099K 1 0 0 16384
newblk 1 1K 1K 39099K 1 0 0 512
VM swap 7 23K 23K 39099K 7 0 0
16,64,2048,8192,16384
UVM amap 1863 132K 220K 39099K 386101 0 0
16,32,64,128,256,512,1024,2048,4096
UVM aobj 2 3K 3K 39099K 2 0 0 16,2048
crypto data 1 1K 1K 39099K 1 0 0 1024
NDP 7 1K 1K 39099K 8 0 0 64,128
temp 34 5K 9K 39099K 17822 0 0
16,32,64,512,1024,4096
Memory Totals: In Use Free Requests
1130K 171K 417278
Memory resource pool statistics
Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle
extentpl 40 18 0 8 1 0 1 1 0 8 0
phpool 80 553 0 10 11 0 11 11 0 8 0
pcgpool 152 1 0 0 1 0 1 1 0 8 0
pmappl 224 2280 0 2265 2 0 2 2 0 8 1
pvpl 32 399987 0 395172 94 46 48 63 0 8 8
pdppl 4096 24 0 0 24 0 24 24 0 8 0
vmsppl 344 2280 0 2265 3 0 3 3 0 8 1
vmmpepl 144 216767 0 215810 207 165 42 66 0 8 6
vmmpekpl 144 5533 0 5529 1 0 1 1 0 8 0
aobjpl 88 1 0 0 1 0 1 1 0 8 0
amappl 56 127415 0 126795 18 0 18 18 0 8 8
bufpl 208 6 0 6 1 0 1 1 0 8 1
mbpl 256 22274 0 22013 29 10 19 19 1 8 2
mclpl 2048 8996 0 8740 138 0 138 138 4 3072 9
sockpl 360 112 0 89 3 0 3 3 0 8 0
procpl 544 2287 0 2265 5 0 5 5 0 8 1
zombiepl 144 2265 0 2265 1 0 1 1 0 8 1
ucredpl 80 59 0 51 1 0 1 1 0 8 0
pgrppl 40 46 0 32 1 0 1 1 0 8 0
sessionpl 64 20 0 7 1 0 1 1 0 8 0
pcredpl 32 2287 0 2265 1 0 1 1 0 8 0
lockfpl 88 6 0 4 1 0 1 1 0 8 0
filepl 80 10577 0 10519 2 0 2 2 0 8 0
fdescpl 424 2288 0 2265 4 0 4 4 0 8 1
pipepl 120 3266 0 3264 1 0 1 1 0 8 0
sigapl 472 2280 0 2265 3 0 3 3 0 8 1
wdcspl 176 13340 0 13340 1 0 1 1 0 8 1
scxspl 192 18 0 18 1 0 1 1 0 8 1
namei 1024 16637 0 16637 1 0 1 1 0 8 1
vnodes 272 2166 0 0 145 0 145 145 0 8 0
nchpl 112 1310 0 0 38 0 38 38 0 8 0
ffsino 336 4886 0 2724 181 0 181 181 0 8 0
dirhash 1024 78 0 49 10 0 10 10 0 8 2
rtentpl 208 29 0 0 2 0 2 2 0 8 0
tcpcbpl 552 22 0 9 3 0 3 3 0 8 1
tcpqepl 32 2 0 2 1 0 1 1 0 25 1
synpl 240 3 0 3 1 0 1 1 0 8 1
plimitpl 152 16 0 8 1 0 1 1 0 8 0
inpcbpl 328 56 0 40 2 0 2 2 0 8 0
In use 2564K, total allocated 2896K; utilization 88.5%
---- dmesg.amd64 ----
OpenBSD 3.8 (GENERIC) #247: Sat Sep 10 15:53:26 MDT 2005
deraadt_(_at_)_amd64_(_dot_)_openbsd_(_dot_)_org:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 266924032 (260668K)
avail mem = 218468352 (213348K)
using 6567 buffers containing 26898432 bytes (26268K) of memory
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD Athlon(tm) 64 Processor 3200+, 1994.76 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative
pci0 at mainbus0 bus 0: configuration mode 1
pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x01
ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x01
pci1 at ppb0 bus 1
"Intel 82371AB PIIX4 ISA" rev 0x08 at pci0 dev 7 function 0 not configured
pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA,
channel 0 configured to compatibility, channel 1 configured to
compatibility
wd0 at pciide0 channel 0 drive 0: <VMware Virtual IDE Hard Drive>
wd0: 64-sector PIO, LBA, 4096MB, 8388608 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <NECVMWar, VMware IDE CDR10, 1.00> SCSI0
5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
"Intel 82371AB Power" rev 0x08 at pci0 dev 7 function 3 not configured
vga1 at pci0 dev 15 function 0 "VMware Virtual SVGA II" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
mpt0 at pci0 dev 16 function 0 "Symbios Logic 53c1030" rev 0x01: irq 9
mpt0: IM support: 0
scsibus1 at mpt0: 16 targets
em0 at pci0 dev 17 function 0 "Intel PRO/1000MT (82545EM)" rev 0x01:
irq 11, address: 00:0c:29:02:db:f5
isa0 at mainbus0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
---- dmesg.i386 ----
OpenBSD 3.8 (GENERIC) #138: Sat Sep 10 15:41:37 MDT 2005
deraadt_(_at_)_i386_(_dot_)_openbsd_(_dot_)_org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD Athlon(tm) 64 Processor 3200+ ("AuthenticAMD" 686-class,
512KB L2 cache) 2 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3
cpu0: AMD Powernow: FID VID TTP TM STC
real mem = 267952128 (261672K)
avail mem = 237481984 (231916K)
using 3296 buffers containing 13500416 bytes (13184K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(ff) BIOS, date 07/29/05, BIOS32 rev. 0 @ 0xfd880
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
apm0: flags 30102 dobusy 0 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xfd880/0x780
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf30/176 (9 entries)
pcibios0: PCI Interrupt Router at 000:07:0 ("Intel 82371FB ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1000 0xdc000/0x4000! 0xe0000/0x4000!
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel 82443BX AGP" rev 0x01
ppb0 at pci0 dev 1 function 0 "Intel 82443BX AGP" rev 0x01
pci1 at ppb0 bus 1
pcib0 at pci0 dev 7 function 0 "Intel 82371AB PIIX4 ISA" rev 0x08
pciide0 at pci0 dev 7 function 1 "Intel 82371AB IDE" rev 0x01: DMA,
channel 0 configured to compatibility, channel 1 configured to
compatibility
wd0 at pciide0 channel 0 drive 0: <VMware Virtual IDE Hard Drive>
wd0: 64-sector PIO, LBA, 4096MB, 8388608 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <NECVMWar, VMware IDE CDR10, 1.00> SCSI0
5/cdrom removable
cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
"Intel 82371AB Power" rev 0x08 at pci0 dev 7 function 3 not configured
vga1 at pci0 dev 15 function 0 "VMware Virtual SVGA II" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
mpt0 at pci0 dev 16 function 0 "Symbios Logic 53c1030" rev 0x01: irq 9
mpt0: IM support: 0
scsibus1 at mpt0: 16 targets
em0 at pci0 dev 17 function 0 "Intel PRO/1000MT (82545EM)" rev 0x01:
irq 11, address: 00:0c:29:02:db:f5
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
sysbeep0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask e765 netmask ef65 ttymask ffe7
pctr: user-level cycle counter enabled
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302
Visit your host, monkey.org