- 博客(12)
- 资源 (23)
- 收藏
- 关注
转载 CentOS 7升级gcc版本
Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译1、安装centos-release-sclsudo yum install centos-release-scl2、安装devtoolset,注意,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推sudo yum install devtoolset-8-gcc*3、激活对应的devtoolset,所以你可以一次安装多个版本的devt
2021-08-13 17:38:50
185
转载 Linux中Cache内存占用过高解决办法
在Linux系统中,我们经常用free命令来查看系统内存的使用状态。在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态:这里的默认显示单位是kb,我的服务器是128G内存,所以数字显得比较大。这个命令几乎是每一个使用过Linux的人必会的命令,但越是这样的命令,似乎真正明白的人越少(我是说比例越少)。一般情况下,对此命令输出的理解可以分这几个层次:不了解。这样的人的第一反应是:天啊,内存用了好多,70个多G,可是我几乎没有运行什么大程序啊?为什么会这样?Linux好占内存!自以为很了
2021-08-11 17:57:35
1477
原创 分析virtio-blk+qemu+spdk环境中virtio-blk不用执行virtqueue_kick操作通知后端处理IO的原因
分析virtio-blk+qemu+spdk场景下不用virtqueue_kick通知后端的原因 当VM向virtio-blk的vring中添加IO vector之后,代码会进入到virtqueue_kick函数,该函数的实现如下 virtqueue_kick_prepare函数中如果vq->event不存在,则判断virtio-blk设备是否设置
2021-06-22 11:15:55
1047
2
原创 kernel-3.10.0内核 virtio-block设备驱动的中断处理函数 virtblk_done 的分析
文章目录1 CPU Vector 与 IRQ ID之间的对应关系2 IRQ ID 与 struct irq_desc 对象之间的对应关系本文主要分析qemu vm中触发 virtblk_done 函数的流程分析,下面列出此函数的函数调用栈信息。 0xffffffffa0167000 : virtblk_done+0x0/0x100 [virtio_blk] 0xffffffffa003e148 : vring_interrupt+0x38/0x90 [virtio_ring] 0xffffffff8
2021-03-02 17:49:22
726
原创 使用GDB+QEMU调试Linux内核环境搭建-进阶篇
使用GDB+QEMU调试Linux内核环境搭建-进阶篇1 前言2 QEMU命令行参数3 调试的kernel信息设置4 调试virtio_net内核模块的start_xmit函数4.1 启动qemu vm4.2 启动gdb4.2 加载virtio-net内核模块的symbol file4.2.1 获取Guest中virtio-net内核模块的 .text,.data和 .bss4.2.2 在gdb中添加virtio-net内核模块的symbol信息4.2.3 gdb调试start_xmit函数
2021-01-30 16:42:33
1743
原创 Qemu执行make命令进行编译的问题解决
新安装的centos 7系统,安装了qemu编译的依赖软件,并且执行configure成功后,发现glfs_ftruncate函数错误,截图如下:解决方法:【1】从下列网址中下载glusterfs相关rpm包,然后依次安装。https://buildlogs.centos.org/c7.1708.00/glusterfs/20170809174713/3.8.4-18.4.el7.centos.x86_
2021-01-28 17:40:39
1407
原创 使用GDB+QEMU调试Linux内核环境搭建
一直想搭建一个debug kernel的环境,这样的话就可以对kernel启动的各个部分,运行过程中的特定部分进行定位,跟踪,调试,尤其是启动阶段。如果没有debug kernel的环境,那么我们只有使用其他方式来进行调试,例如printk。当然还有kgdb,不过此次不讨论此方式。 下面我们来进行详细的环境搭建。1
2021-01-26 20:51:10
1529
原创 Linux系统更换默认启动内核版本方法
CentOS系统更换默认启动内核版本方法1 得到当前系统已安装的所有内核版本[root@localhost ~]# grep ^menuentry /boot/grub2/grub.cfg | cut -d “’” -f2CentOS (3.10.0.el7.x86_64) 24 (Workstation Edition)CentOS (3.10.2.el7.x86_64) 24 (Workstation Edition)CentOS (0-rescue-5a7811782f504e58b061f
2021-01-25 15:18:11
4295
2
原创 使用cscope和ctags只生成x86架构的代码索引
在阅读代码时我们经常会发现搜索x86架构的某函数时会出现一堆其他如arm,powerpc等架构的代码,这样就给我们阅读代码和选择上提高了一些困难。为了解决这个问题,我们可以使用kernel自带的tags和cscope数据库索引构建命令来很好的解决此问题。下面列出了生成x86架构代码索引数据库的命令。命令如下:make tags ARCH=x86 //生成tags文件,根据系统决定是x86还是x86_
2021-01-25 11:38:00
172
原创 windows搭建tensorflow benchmark环境
windows搭建tensorflow benchmark环境1、目的 在windows上安装tensorflow benchmark来验证GPU VM的计算功能的工作是否正常2、硬件环境介绍类别详情操作系统windows server 2008 R2 数据中心版 64位 中文版GPU显卡1个Nvidia Tesla P403、python版本、t...
2020-04-29 23:35:14
787
原创 Linux搭建tensorflow benchmark环境
Linux搭建tensorflow benchmark环境1、环境类别详情操作系统CentOS 7.2 1151GPU1个Nvidia Tesla P402、python版本、tensorflow-gpu、CUDA及cudnn之间的对应关系 如下图所示,图中列出了针对GPU驱动版本来说,python版本、CUDA和cudnn之间的对应关系,这只是一个...
2020-04-29 22:52:21
1497
原创 pktgen工具使用及案例整理
pktgen工具使用及案例整理1、pktgen工具命令说明1.1、pktgen控制命令pktgen命令参数参数说明start所有的线程开始发送stop停止1.2、线程的控制命令pktgen命令参数参数说明add_device添加某个端口到某个线程rem_device_all删除绑定在某个线程的所有端口max_befor...
2020-04-29 15:05:14
3627
云计算 概念、技术与架构 [(美)埃尔等著;龚奕利][机械工业出版社][2014.07][285页].pdf
2018-03-24
存储技术原理分析:基于Linux_2.6内核源代码(带目录).pdf
2018-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人