
Ich habe Vagrant/Virtualbox auf einem relativ neuen Laptop mit ordentlichen Spezifikationen (16 GB Speicher, Intel i7 4710HQ CPU, Dual M-SATA SSD) verwendet.
Bisher habe ich bei jedem Gast, den ich ausführe, eine sehr hohe Latenz festgestellt, bei der Tastenanschläge über SSH Sekunden später wiederholt werden. (Ich habe die üblichen SSH-Verbindungsprobleme mit Reverse-DNS-Lookup und GSSAPI-Authentifizierung überprüft, sie treten nicht auf und würden nur die anfängliche Verbindung beeinträchtigen.)
In der Zwischenzeit (und zu anderen zufälligen Zeiten) wird ein Kern mit einer Auslastung von 100 % hochgefahren, die vollständig von VBoxHeadLess im Inneren verbraucht wird select()
.
$ ps -o time -p 5257; time sudo strace -c -p 5257 ; ps -o time -p 5257
TIME
00:23:51
Process 5257 attached
^CProcess 5257 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
99.95 3.214696 128588 25 select
0.03 0.000822 29 28 read
0.02 0.000521 23 23 futex
0.01 0.000413 21 20 sched_yield
------ ----------- ----------- --------- --------- ----------------
100.00 3.216452 96 total
real 0m3.81s
user 0m0.00s
sys 0m0.01s
TIME
00:23:55
$ ps -fp 5257
UID PID PPID C STIME TTY TIME CMD
henk 5257 25788 45 16:34 ? 00:18:20 /usr/lib/virtualbox/VBoxHeadless
Beachten Sie die ps -o time
Ausgabe:
00:23:51 (before)
00:23:55 (after)
Zusammen mit dem time ...
Ergebnis von 3,81 s bestätigt dies, dass der Prozess tatsächlich seine gesamte Zeit im Kernel verbringt und nur auf Ereignisse wartet.
In der Zwischenzeit scheint der Host-Kernel eine Sperre auszuführen, um das Problem zu beheben select()
.
Ich habe Virtualbox/Vagrant auf einem bescheideneren i5-Laptop mit demselben Ubuntu 14.04 verwendet und dieses Verhalten nie gesehen.
Fragen:
- Wie kann ich tiefer graben, um die Ursache für die hier übermäßige CPU-Verschwendung herauszufinden?
- Kennt jemand Virtualbox-Gäste, die ähnlich langsam reagieren?
aktualisieren
Nach einem Neustart kann ich meine Boxen nicht mehr ohne Probleme ausführen. Mögliche Erklärung: Ich habe möglicherweise ein Kernel-Update ohne Neustart installiert.
Ich habe auch ein potenzielles Problem mit widersprüchlichen Virtualisierungsmodulen behoben. Gestern habe ich die KVM-Module aus dem Kernel entfernt, ohne dass sich eine Verbesserung ergeben hätte. Heute sind die Module nach dem Neustart wieder da, aber ohne Auswirkungen auf die Vbox-Leistung.