36.13. KVM networking performance


By default, KVM virtual machines are assigned a virtual Realtek 8139 (rtl8139) NIC (network interface controller).
The rtl8139 virtualized NIC works fine in most environments. However, this device can suffer from performance degradation problems on some networks, for example, a 10 Gigabit Ethernet network.
A workaround is to switch to a different type of virtualized NIC. For example, Intel PRO/1000 (e1000) or virtio (the para-virtualized network driver).
To switch to the e1000 driver:
  1. Shutdown the guest operating system.
  2. Edit the guest's configuration file with the virsh command (where GUEST is the guest's name):
    # virsh edit GUEST
    Copy to Clipboard Toggle word wrap
    The virsh edit command uses the $EDITOR shell variable to determine which editor to use.
  3. Find the network interface section of the configuration. This section resembles the snippet below:
    <interface type='network'>
      [output truncated]
      <model type='rtl8139' />
    </interface>
    
    Copy to Clipboard Toggle word wrap
  4. Change the type attribute of the model element from 'rtl8139' to 'e1000'. This will change the driver from the rtl8139 driver to the e1000 driver.
    <interface type='network'>
      [output truncated]
      <model type='e1000' />
    </interface>
    
    Copy to Clipboard Toggle word wrap
  5. Save the changes and exit the text editor
  6. Restart the guest operating system.
Alternatively, you can install new guests with a different network driver. This may be required if you are having difficulty installing guests over a network connection. This method requires you to have at least one virtual machine already created (possibly installed from CD or DVD) to use as a template.
  1. Create an XML template from an existing virtual machine:
    # virsh dumpxml GUEST > /tmp/guest.xml
    
    Copy to Clipboard Toggle word wrap
  2. Copy and edit the XML file and update the unique fields: virtual machine name, UUID, disk image, MAC address, and any other unique parameters. Note that you can delete the UUID and MAC address lines and virsh will generate a UUID and MAC address.
    # cp /tmp/guest.xml /tmp/new-guest.xml
    # vi /tmp/new-guest.xml
    
    Copy to Clipboard Toggle word wrap
    Add the model line in the network interface section:
     <interface type='network'>
      [output truncated]
      <model type='e1000' />
    </interface>
    
    Copy to Clipboard Toggle word wrap
  3. Create the new virtual machine:
    # virsh define /tmp/new-guest.xml
    # virsh start new-guest
    
    Copy to Clipboard Toggle word wrap
The network performance should be better with the e1000 or virtio driver. (BZ#517181)
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat