首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
dmesg中没有IOMMU
2024-11-02
解决dpdk中出现IOMMU not found的问题
问题 在使用VFIO前,需要在BIOS打开VT-x和VT-d,想把一个PCIe网卡透传到虚拟机中,发现虚拟机启动失败,提示IOMMU没有找到. 输入以下命令确定vt-d开启 dmesg | grep -e DMAR -e IOMMU 出现 IOMMU not found 解决方法 开机后按F12进入BIOS界面,打开VT-x和VT-d 在Linix内核启动选项设置intel_iommu=on 有些Linix内核版本可能缺省没有使能CONFIG_INTEL_IOMMU
linux性能优化基础——iommu相关配置
此篇文档介绍了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系列之---概念解释篇
本文会对iommu中的一些容易引起疑惑的概念进行阐述,内核版本为4.19. 先上简写: DMAR - DMA remapping DRHD - DMA Remapping Hardware Unit Definition RMRR - Reserved memory Region Reporting Structure ZLR - Zero length reads from PCI devices IOVA - IO Virtual address. SMMU -System Memory M
dmesg 显示内核消息
显示内核消息 dmesg [options] dmesg 可以用来显示存储在内核环缓冲区中的消息 系统启动时,内核会用硬件和模块初始化的相关消息填充其环缓冲区.内核环缓冲区中的消息常常用于诊断系统问题 选项 -c 运行dmesg后情况内核环缓冲区 示例 dmesg > [root@localhost ~]# dmesg > message [root@localhost ~]# message Initializing cgroup subsys cpuset Init
linux进程自动关闭与dmesg的使用
一些应用程序,后台服务被关掉.例如内存不足等,可能是操作系统关掉的.这些日志记录在dmesg中. 存储目录:/var/log/dmesg dmesg -T 可以将时间戳转化为可以识别的时间. | head -n 前n行 | tail -n 后n行 dmesg -c 清除dmesg缓存
linux dmesg 查看系统故障信息
dmesg 可以查看linux 内核信息 dmesg’命令设备故障的诊断是非常重要的.在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息.‘dmesg’命令在多数基于Linux和Unix的操作系统中都可以使用. 1. 列出加载到内核中的所有驱动 我们可以使用如‘more’. ‘tail’, ‘less ’或者‘grep’文字处理工具来处理‘dmesg’命令的输出.由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道(pipe)将其输出
Linux中IO监控命令的使用分析
一篇不错的有关linux io监控命令的介绍和使用. 1.系统级IO监控 iostat iostat -xdm 1 # 个人习惯 %util 代表磁盘繁忙程度.100% 表示磁盘繁忙, 0%表示磁盘空闲.但是注意,磁盘繁忙不代表磁盘(带宽)利用率高 argrq-sz 提交给驱动层的IO请求大小,一般不小于4K,不大于max(readahead_kb, max_sectors_kb) 可用于判断当前的IO模式,一般情况下,尤其是磁盘繁忙时, 越大代表顺序,越小代表随机
【转】dmesg 时间转换
dmesg 时间转换 dmesg 输出的格式不易查看,可以通过命令进行转换. 记录如下: 时间查看: date -d "1970-01-01 UTC `echo "$(date +%s)-$(cat /proc/uptime|cut -f 1 -d' ')+12288812.926194"|bc ` seconds" 将dmesg中取到的时间戳替换掉上述的12288812.926194即可. [注]dmesg得到的时间戳只能在当前服务器上进行转换,在其他服务器转换的
KVM原理及使用
Qemu 和 Qemu-kvm Qemu: http://qemu-project.org/Download Qemu-kvm:https://sourceforge.net/projects/kvm/files/qemu-kvm/ 自2012年低时,Qemu1.3.0版本发布后,qemu-kvm中针对KVM的修改已全部加入到普通的Qemu代码库中, 从此之后可完全使用纯qemu来与kvm配合使用(命令行仅需添加-enable-kvm参数),而无需专门使用 qemu-kvm代码库了,并且qe
PROC 文件系统调节参数介绍(netstat -us)
转自:http://www.cnblogs.com/super-king/p/3296333.html /proc/net/* snmp文件 Ip: ip项 Forwarding : 是否开启ip_forward,1开启,2关闭 DefaultTTL : IP默认ttl. InReceives : IP协议处理的数据包. InHdrErrors : IP头错误而丢弃的数据包. InAddrErrors : IP地址没有找到路由而丢弃的
树莓派配置文档 config.txt 说明(转)
原文连接:http://elinux.org/RPi_config.txt 由于树莓派并没有传统意义上的BIOS, 所以现在各种系统配置参数通常被存在"config.txt"这个文本文件中. 树莓派的config.txt文件会在ARM内核初始化之前被GPU读取. 这个文件存在引导分区上的.对于Linux, 路径通常是/boot/config.txt, 如果是Windows (或者OS X) 它会被识别为SD卡中可访问部分的一个普通文件. 如果想要编辑配置文件, 请查看介绍编辑树莓派配置
linux内核3.4基于wakeup_source的autosleep机制分析
点击打开链接 一:wakeup_source简介: linux 3.4内核PM使用了wakeup_source来保持唤醒状态,也就是keep awake.之前android一直是基于Linux加入了wake_lock机制来阻止系统休眠,后来Linux 3.4内核加入了wakeup_source来管理,安卓4.4跟着升级内核也就摒弃了自己的臃肿的wake_lock机制,在对上层接口并不改变,在内核wake_lock实现直接基于wakeup_source来实现的.当然也会带来debug上的一些问题,
linux开机启动
开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬盘信息.内存信息.时钟信息.PnP特性等等.在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了.在BIOS将系统的控制权交给硬盘第一个扇区之后,就
《Linux内核设计与实现》读书笔记(十七)- 设备与模块
本章主要讨论与linux的设备驱动和设备管理的相关的4个内核成分,设备类型,模块,内核对象,sysfs. 主要内容: 设备类型 内核模块 内核对象 sysfs 总结 1. 设备类型 linux中主要由3种类型的设备,分别是: 设备类型 代表设备 特点 访问方式 块设备 硬盘,光盘 随机访问设备中的内容 一般都是把设备挂载为文件系统后再访问 字符设备 键盘,打印机 只能顺序访问(一个一个字符或者一个一个字节) 一般不挂载,直接和设备交互 网络设备 网卡 打破了Unix "所有东西都是文件"
《Linux内核设计与实现》读书笔记(十八)- 内核调试
内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态. 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态. 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来捕获并显示. 而内核是直接和硬件交互的,内核出错之后整个系统就无法正常运行了,所以要想熟练的进行内核调试, 首先要熟悉内核已经给我们提供的工具,然后实实在在的去做一些内核功能的开发,在开发的过程中不断熟悉内核代码,增加内核调试的经验. 主要内容: 内核调试的难点 内核调试的工具和方法 总结 1. 内
mysql ALL_O_DIRECT引发的unaligned AIO/DIO导致hang
公司内部有一套mysql环境,使用的是percona server分支(和其他几十套环境的版本.参数完全相同),就这套环境每隔两三天就会hang一次,关键hang的时候服务器cpu也就是百分之三四十,swap也没用多少,磁盘空间这些都足够,mysql.err里也没有任何的异常信息.出现问题后,root登录也没有响应一直卡在那里...太奇怪了... 因为已经发生三四次了,对项目组影响较大,于是觉得找到根本原因.随后在/var/log/message和dmesg中发现了EXT4-fs (dm-0):
系统性能调优CPU与内存
CPU相关术语 处理器:插到系统插槽或者处理器版上的物理芯片,以核或者硬件线程的方式包含了一块或者多块CPU. 核:一颗多核处理器上的一个独立CPU实例.核的使用时处理器扩展的一种方式,有称为芯片级多处理器(chip-level multiprocessing,CMP). 硬件线程:一种支持在一个核上同时执行多个线程(包括Intel的超线程技术)的CPU架构,每个线程是一个独立的CPU实例.这种扩展的方法又称为多线程. CPU指令:单个CPU操作,来源于它的指令集.指令用于算术操作.内存I/O,
戴文的Linux内核专题:08内核配置(4)
转自Linux中国 这个第四部分里,我们将继续配置更多的设置和特性. 这里我们被问及关于"IBM Calgary IOMMU support (CALGARY_IOMMU)".这个选项将会提供对IBM xSeries x366和x460的IOMMU的支持.这也将让那些32位PCI的设备工作正常——在这些系统上不支持双地址周期(DAC : Double Address Cycle)——因为该系统设置在访问超过3GB内存的时候会有问题.如果需要这些IOMMU设备可以用"iommu
戴文的Linux内核专题:03驱动程序
转自Linux中国 驱动程序是使内核能够沟通和操作硬件或协议(规则和标准)的小程序.没有驱动程序,内核不知道如何与硬件沟通或者处理协议(内核实际上先发送指令给BIOS,然后BIOS传给硬件). Linux的内核代码在驱动程序文件夹中以源代码的形式包含了许多驱动程序.驱动文件夹中的每个文件夹会在下面说明.在配置和 编译内核时,这样有助于你了解驱动程序.否则,用户可能会在编译时加入不必要的或者漏掉重要的驱动.驱动代码通常会包含一个单行注释来指出驱动的目的. 比如,tc的驱动代码,有一行的注释说是用于
【工具】openwrt安装记录
步骤: 1 从以太网引导启动.由于我们实验室在服务器上放了一个openwrt镜像,安装时先从以太网启动,将服务器上的镜像载入到RAM中启动系统. 2 用SCP将在PC上编译好的openwrt-XXX.elf和openwrt-XXX-rootfs.tar.gz传输到路由中.这两个文件处于./openwrt/trunk/bin/ar71xx中,前者是内核可执行文件,后者为文件系统. scp <src> <dst> : 从src通过SSH复制到dst.双方需要安装openssh-se
热门专题
elk 日志追踪 logger
jquery打印pdf文件支持ie8
jqgrid 点击列头禁止排序 设置
ubuntu 升级ffmpeg版本
vmware 虚拟机 ssh后断开网络
easyconnect连接后虚拟IP地址为分配
苹果笔记本电脑怎么改鼠标指针
安卓模拟器修改安卓ID
获取url参数 兼容hash
c# 计算当前时间 下一个半个小时
efcore model和实体数据类型不一致
vue滚动事件获取元素位置
用Navicat Premium把oracle转换SQL
thinkphp3.2上传excel功能
量化交易中使用tushare的意义
Android 自定义popupmenu
Jenkins 注释覆盖
textbox 位置不随主窗口大小变化
yum 启动openvpn
无法创建新虚拟机:不具备执行操作的权限