-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve System VM startup and memory usage #3126
Conversation
@blueorangutan package |
@PaulAngus a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-2529 |
@blueorangutan test matrix |
@PaulAngus a Trillian-Jenkins matrix job (centos6 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests |
See my comments here: #3127 I would not touch those sysctl settings |
RESULTS of tests The memory usage was then monitored by periodically running htop from the VR console.
I believe that the variance is due to the timing of the check relative to the disk cache flushing. IMO - I think that we can consider this a successful test cc @andrijapanic @onitake |
Based on the original issues reported, this looks LGTM. I'm also OK with those systemctl settings, since kernel should do it's job, but it doesn't in some cases (had silly experience with same fix on systems with 64GB of ram, running GFS2) |
I wonder... If swapping is such a big concern, why not simply turn off the swap completely? |
Add vm.min_free_kbytes to sysctl periodically clear disk cache (depending on memory size) only start guest services specific to hypervisor use systemvm code to determine hypervisor type (not systemd) start cloud service at end of post init rather than through systemd reduce initial threads started for httpd fix vmtools config file disable all required services (do not start on boot) start only required services during post init. add '@include null' to /etc/pam.d/systemd-user as per systemd/systemd#8015 (comment) remove cloud agent service startup from VR
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
a4495a6
to
6345cd5
Compare
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Rebased to latest master and fixed conflicts. I'll run some tests, this is still in WIP. |
Description=Service for virtual machines hosted on VMware | ||
Documentation=http://open-vm-tools.sourceforge.net/about.php | ||
DefaultDependencies=no | ||
Before=cloud-init-local.service |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PaulAngus I see references to cloud-init-local.service and cloud-init.service but they are not in codebase or the template. Is there any file to be added, or did you mean cloud-early-config.service?
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
Pinging for review - @nvazquez @shwstppr @anuragaw @borisstoyanov @andrijapanic |
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM pending regression testing.
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-19 |
@blueorangutan test matrix |
@borisstoyanov a Trillian-Jenkins matrix job (centos6 mgmt + xs71, centos7 mgmt + vmware65, centos7 mgmt + kvmcentos7) has been kicked to run smoke tests |
Trillian test result (tid-20)
|
Trillian test result (tid-21)
|
Trillian test result (tid-19)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM based on test results, one is known issue, the other is related to xen licensing
Created this issue to track further future changes: #3426 |
Description
In order to reduce memory footprint and improve boot speed/predictability; The following changes have been made:
Some changes will require a new systemvmtemplate that can be done in 4.14:
Fixes: #3039
Types of changes
Screenshots (if appropriate):
How Has This Been Tested?
Changes have been subjected to regression testing and a burn-in test where portforwarding rules were constantly updated over a period of 3 days. no swapping occured in a 256MB RAM VR.