此篇文档介绍了IOMMU相关的信息:

https://blog.chaosjohn.com/Check-VT-D-or-IOMMU-under-Linux.html

iommu和vt-d都是io半虚拟化的一种技术,两者很接近,只不过iommu是AMD的,vt-d是Intel的。

IO半虚拟化对比IO虚拟化,主要是虚拟机可直接和IO设备通信,而不必走VMM虚拟出来的虚拟IO设备。举例来说,VMguest系统可以直接访问物理显卡并调用其资源,而不必通过VMM虚拟出来的显卡调用资源。

linux中检查IOMMU是否开启

一般可以在主板BIOS/UEFI中可以找到,但是如果该硬件不支持虚拟化或者硬件固件被阉割但是实际上vt-d/iommu是被启用的。所以通过BIOS/UEFI固件并不能保证一定可以看到IOMMU信息。

正确的方法是通过dmesg命令查看。因为如果vt-d或者ioMmu开启并被使用,系统就会配置和启动DMA重映射,所以通过观察DMA是否启动来得知iommu是否开启。

执行以下命令:

dmesg | grep -i dmar

可以得到如下结果:

[    0.144034] DMAR: IOMMU enabled
[ 0.779260] DMAR: Host address width 52
... [ 0.779305] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.781570] DMAR-IR: Enabled IRQ remapping in x2apic mode
...
[ 3.776139] DMAR: Intel(R) Virtualization Technology for Directed I/O

可以看到有“IOMMU enabled”的信息,这说明此运行时系统打开了IOMMU。

除了用dmesg,还可以通过cat /proc/cmdline指令查看iommu是否打开。cmdline中的参数会被内核执行命令行时获取并解析,但不代表该一定能够起作用,也有发现cmdline中某配置被设置为enabling但是实际上系统却并没有打开它的情况。

linux性能优化基础——iommu相关配置的更多相关文章

  1. MySQL性能优化-I/O相关配置参数

    本文介绍InnoDB和MyISAM两种存储引擎的I/O相关参数配置. 1.InnoDB  I/O相关配置 Innodb是一种事务型的存储引擎,为了减少提交事务时产生的io开销,innodb采用了写日志 ...

  2. 深挖计算机基础:Linux性能优化学习笔记

    参考极客时间专栏<Linux性能优化实战>学习笔记 一.CPU性能:13讲 Linux性能优化实战学习笔记:第二讲 Linux性能优化实战学习笔记:第三讲 Linux性能优化实战学习笔记: ...

  3. 如何学习Linux性能优化?

    如何学习Linux性能优化? 你是否也曾跟我一样,看了很多书.学了很多 Linux 性能工具,但在面对 Linux 性能问题时,还是束手无策?实际上,性能分析和优化始终是大多数软件工程师的一个痛点.但 ...

  4. EMW 性能优化二之---并发配置

    EMW 性能优化二之---并发配置 在前一个日志中写到交货的异步更新,对于RFUI RF的前台操作会提升效率,异步更新不用等待更新状态的返回,启用更新队列的方式执行(SM13). 下面再补全性能相关的 ...

  5. Linux 性能优化之 IO 子系统 系列 图

    http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统 ...

  6. Linux性能优化从入门到实战:01 Linux性能优化学习路线

      我通过阅读各种相关书籍,从操作系统原理.到 Linux内核,再到硬件驱动程序等等.   把观察到的性能问题跟系统原理关联起来,特别是把系统从应用程序.库函数.系统调用.再到内核和硬件等不同的层级贯 ...

  7. Linux系统下ssh的相关配置详细解析

    Linux系统下ssh的相关配置进行了详细的分析介绍. ssh是大家常用的登录linux服务器的方式,但是为了安全考虑,有时候我们需要针对ssh做一些特殊处理,本文记录笔者曾经做过的一些修改,供大家参 ...

  8. Linux 性能优化解析

    前情概述 进程调度 老板 cpu 任劳任怨的打工仔 线程 工作在做什么 可运行队列 拥有的工作清单 上下文切换 和老板沟通以便得到老板的想法并及时调整自己的工作 中断 部分工作做完以后还需要及时向老板 ...

  9. Linux性能分析——分析系统性能相关的命令

    Linux性能分析——分析系统性能相关的命令 摘要:本文主要学习了Linux系统中分析性能相关的命令. ps命令 ps命令用来显示系统中进程的运行情况,显示的是当前系统的快照. 基本语法 ps [选项 ...

随机推荐

  1. Leetcode 146. LRU 缓存机制

    前言 缓存是一种提高数据读取性能的技术,在计算机中cpu和主内存之间读取数据存在差异,CPU和主内存之间有CPU缓存,而且在内存和硬盘有内存缓存.当主存容量远大于CPU缓存,或磁盘容量远大于主存时,哪 ...

  2. rsync 服务搭建

    rsync 服务搭建 服务端部署操作内容: 创建rsync用户和用户组 eg: useradd -s /sbin/nologin -M rsync 创建需要备份的指定目录,并修改权限 eg: mkdi ...

  3. 前后端数据交互(五)——什么是 axios?

    一.什么是 axios ? axios是基于 Promise 的 ajax 封装库,也是前端目前最流行的 ajax 请求库.简单地说发送 get.post 请求,是一个轻量级的库,使用时可直接引入. ...

  4. 20210712 noip12

    考场 第一次和 hzoi 联考,成功给 sdfz 丢人 尝试戴耳罩,发现太紧了... 决定改变策略,先用1h看题,想完3题再写. T1 一下想到枚举最大值,单调栈求出每个点能作为最大值的区间,然后以这 ...

  5. Python习题集(十一)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 如果一个正整数等于 ...

  6. windows中对文件进行排序

    右键->排序方式->更多->选择需要的项目

  7. Sentry 监控 - Discover 事件大数据查询分析引擎

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  8. Dockerfile 自动制作 Docker 镜像(三)—— 镜像的分层与 Dockerfile 的优化

    Dockerfile 自动制作 Docker 镜像(三)-- 镜像的分层与 Dockerfile 的优化 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云 ...

  9. 测试开发【提测平台】分享10-Element UI抽屉和表单校验&增改接口合并实现应用管理

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 开篇说个小讨论,一个群里聊天聊到关于更新篇章的长度,是小篇幅多次,还是每次按照一个小完整的功能,我个人的是按照后种来的,主要的思考就是希望 ...

  10. vscode 本地启动配置

    安装vscode 编辑器后,找到插件 1.安装Debugger for Chrome 2.找到本地需要启动的项目,配置文件,从左到右依次点击红圈中的按钮,然后出现launch.json文件,在里面添加 ...