• [zz]Improve KVM performance


    In this post I would like to share two tips I have found that greatly improve the performance of KVM guests. Both tips work with Linux guests, although only the second tip will work with windows or BSD guests.

    With these tips you should notice an immediate improvement in performance including boot times, general performance, and responsiveness to inputs (mouse / keyboard).

    Kernel option noop

    With this tip we will use the kernel (boot) option elevator=noop to optimize your virtual hard drive I/O.

    For a technical discussion of this option, see this link . If you want a more detailed discussion see this second link.

    Grub 2

    Using any editor, open /etc/default/grub

    sudo -e /etc/default/grub

    Look for the line :

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    Add elevator=noop at the end of the line

    GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash elevator=noop”

    Save your changes and exit your editor.

    update grub

    sudo update-grub

    Reboot – One of the few times you will need to reboot.

    Grub 1

    With most distros you edit /boot/grub/menu.lst

    Using any editor, open Using any editor, open /boot/grub/menu.lst

    Look for the kopts line:

    # kopt=root=/dev/sda1 ro

    Just add this option to the end of the line.

    # kopt=root=/dev/sda1 ro elevator=noop

    Note: DO NOT remove the # in the front of the line !!!

    Then update grub

    sudo update-grub

    Reboot – One of the few times you will need to reboot.

    Fedora is an exception

    Fedora is a bit odd about this. Fedora uses /boot/grub/grub.conf , and /boot/grub/menu.lst is a symbolic link to grub.conf .

    Specify the noop kernel option at installation

    You may specify grub options at installation : Fedora Wiki Installation Options

    Adding the noop kernel option post installation

    As far as I can see, this is a manual edit. You will need to manually edit the file /etc/grub/grub.conf and add elevator=noop to the end of the kernel line.

    Fedora wiki boot options

    Save your changes and reboot – One of the few times you will need to reboot.


    Cache writeback option

    Ibuclaw pointed this option out to me on IRC, and discusses in ibuclaw’s blog.

    From man qemu :

    By default, writethrough caching is used for all block device.
    This means that the host page cache will be used to read and write
    data but write notification will be sent to the guest only when the
    data has been reported as written by the storage subsystem.

    Writeback caching will report data writes as completed as soon as
    the data is present in the host page cache. This is safe as long
    as you trust your host. If your host crashes or loses power, then
    the guest may experience data corruption. When using the -snapshot
    option, writeback caching is used by default.

    The host page can be avoided entirely with cache=none. This will
    attempt to do disk IO directly to the guests memory. QEMU may
    still perform an internal copy of the data.

    Some block drivers perform badly with cache=writethrough, most
    notably, qcow2. If performance is more important than correctness,
    cache=writeback should be used with qcow2. By default, if no
    explicit caching is specified for a qcow2 disk image,
    cache=writeback will be used. For all other disk types,
    cache=writethrough is the default.

    So either using writeback or disabling the cache will improve performance.

    To use this option, rather then specifying a drive with -hda image.qcow we need to use the -drive option

    kvm -m 512 -drive file=image.qcow,cache=writeback,media=disk

    This option can be used with .iso as well ( note the media=cdrom )

    kvm -m 512 -drive file=fedora.iso,cache=writeback,media=cdrom

    Warning: Please note that in the event the host node crashes, data loss can result from this option.


    KSM

    This tip was added by morgan cox (see comments). KSM == Kernel SamePage Merging and was enabled by default on Fedora 12.

    See This KVM page from the Arch Wiki.

    For a more detailed description of KSM see IBM – Anatomy of Linux Kernel Shared Memory.

  • 相关阅读:
    上海电信 华为HG8240R 光猫 破解
    RedSn0w 0.9.10b5 越狱iphone 4 ios 5.0.1 Cydia闪退解决
    用IIS 7.5 Express代替IIS和开发工具vs自带的ASP.NET Development Server
    远程桌面连接问题
    Enterprise Library 5.0 Hands On Lab(1):数据访问程序块(一)
    [Havok] Havok Physics物理引擎的学习入门
    [设计模式] 深入浅出单实例Singleton设计模式(Java版)
    [C#] MD5 加密的具体流程
    [轻音乐] 理查德·克莱德曼专辑[8CD]
    [SEO] [DeDe]优化SEO
  • 原文地址:https://www.cnblogs.com/zhangzhang/p/2408926.html
Copyright © 2020-2023  润新知