自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ibless的博客

i bless you

  • 博客(75)
  • 收藏
  • 关注

原创 如何备份 Tampermonkey(油猴)中的脚本

需求:当你在一台新的电脑上登录了你的谷歌账户后,谷歌浏览器就会自动安装你之前的插件,但是此时你可能发现Tampermonkey这个插件中以前安装的脚本都没有了,那么如何能备份Tampermonkey中的插件,以便下次在新的电脑上登录Google账户后,可以恢复Tampermonkey中的插件。解决方案:下面是Tampermonkey插件的管理面板页:第1步:选择“实用工具”...

2018-11-08 10:18:54 21623 3

转载 Linux系统调用(syscall)原理

原文网址:http://gityuan.com/2016/05/21/syscall/引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构相关源码:/bionic/libc/kernel/...

2018-10-26 21:00:06 336

转载 解决类似 BUG: soft lockup - CPU#2 stuck for 67s! 问题的思路

编写内核程序,出现soft lockup错误是再常见不过了,类似BUG: soft lockup - CPU#2 stuck for 67s!。刚开始调试内核时,出现这样的错误,往往两眼一抹黑,不知道该如何下手了。但其实,这样的问题解决多了,会发现原因基本就两种情况,死锁和死循环。所以,在出现soft lockup错误时,不用慌张,只要分析相关代码是不是存在死循环,比如 for循环的退出条...

2018-10-15 21:19:53 11685

原创 Linux中清除cache/buffer方法

1、查看Linux中的cache/buffer情况:free -h2、仅清除页面缓存PageCache方法:echo 1 > /proc/sys/vm/drop_caches3、清除目录项和inode节点:echo 2 > /proc/sys/vm/drop_caches4、清除页面缓存、目录项和inode节点:echo 3 > /proc...

2018-09-14 15:19:38 13170

转载 Linux 中 4 个简单的找出进程 ID(PID)的方法

 原文网址:https://zcfy.cc/article/4-easiest-ways-to-find-out-process-id-pid-in-linux每个人都知道 PID,究竟什么是 PID?为什么你想要 PID?你打算用 PID 做什么?你脑子里有同样的问题吗?如果是这样,你就找对地方了解这些细节了。我们查询 PID 主要是用来杀死一个没有响应的程序,它类似于 Window...

2018-09-08 20:32:17 4982

转载 判断Linux进程在哪个CPU核运行的方法

原文网址:http://www.embeddedlinux.org.cn/html/xinshourumen/201601/30-5013.html问题:有一个Linux进程运行在多核处理器系统上,如何查看该进程运行在哪个CPU上?方法一:如果一个进程使用taskset命令明确的被固定(Pinned)到CPU的特定内核上,你可以使用taskset命令找出被固定的CPU内核:tas...

2018-09-05 22:01:32 25454

原创 Linux内核编译

下面简单介绍一下Linux内核编译过程。(附注:本博客所讲的内容是在Ubuntu上进行操作的,Cent OS并未验证)1、下载内核源码,可以到kernel.org上进行下载。2、解压内核源文件(注意:要先使用cd命令进入压缩包所在目录),可以使用如下命令:tar -xvf 压缩包名称3、进入解压后的文件夹:如下图:4、配置内核:使用 make menuconf......

2018-09-03 15:38:41 43008 5

原创 在VMware中的Ubuntu中安装KVM

一、KVM的安装1、检测CPU是否支持虚拟化,使用如下命令:egrep '(vmx|svm)' /proc/cpuinfo如果出现如下结果或者出现svm,则说明CPU支持虚拟化技术,如果什么都没有,说明不支持。(一般64位会出现svm,32位会出现vmx)2、安装KVM,使用如下命令: sudo apt-get install qemu-kvm libvirt-bin ...

2018-09-03 15:33:19 2364

原创 删除Ubuntu中不用的内核

1、查看Linux中当前使用的内核:使用 uname -a 或者 uname -r 命令2、查看Linux中安装了哪些内核:使用 dpkg --get-selections | grep linux 或者 dpkg --list |grep linux 命令需要知道的是,内核映像文件主要包括以下类型:linux-image-版本号:内核映像文件linux-h...

2018-09-03 15:23:49 1687

原创 docker无法删除资源:设备忙

今天要给docker更改使用的存储驱动,结果遇到了问题。问题如下:解决方案:1、输入命令:cat /proc/mounts |grep "docker"2、卸载设备或资源忙的文件,我们遇到的是 /var/lib/docker/containers :设备或资源忙,因此我们需要使用如下命令:umount /var/lib/docker/containers/3、删除 ...

2018-08-23 10:21:34 6089

原创 Linux内核中list_for_each()和list_for_each_safe()

今天看Linux内核代码,看到了list_for_each_safe()函数,想仔细的研究一下。下面是源代码:list_for_each()的定义:/** * list_for_each - iterate over a list * @pos: the &struct list_head to use as a loop cursor. * @head: the he...

2018-08-22 21:24:54 2629 2

原创 Fix error:"Error starting domain: Requested operation is not valid: network 'default' is not active"

之前在Ubuntu中安装KVM的时候我并没有进行网络相关的配置,但是,在KVM中安装的系统是可以使用网络的,但是系统关机之后,今天在Virtual Meachine Manager中启动虚拟机时碰到了如下问题:"Error starting domain: Requested operation is not valid: network 'default' is not active"...

2018-08-22 21:20:49 917

转载 很有效的Linux死机解决方法

原文链接:https://blog.csdn.net/openswc/article/details/9105071不建议长按 Power 按键强制关机,有可能损坏硬件或者丢失数据,甚至导致磁盘坏道!    通常套路是 Ctrl +Alt +F7 (F8) 切换到某个 tty,然后用 root 登陆,执行 top 查看吃资源最多的程序,然后使用 pkill/kill/killall 等命令...

2018-08-22 21:15:05 4958

原创 在Ubuntu16.04中搭建MPI-3并行计算环境

1、下载安装包,可以通过网址:https://www.open-mpi.org/software/ompi/v3.0/2、加压压缩包: 我下载的是openmpi-3.0.0.tar.gz压缩包,使用如下命令进行解压:tar -xvf openmpi-3.0.0.tar.gz3、进入解压后的文件夹中,并执行./configure命令:cd openmpi-3.0.0./co...

2018-08-22 21:14:10 508

转载 Graph500教程

原文网址:https://github.com/liujunming/Tools/blob/master/Graph500%E6%95%99%E7%A8%8B.txtwget https://github.com/graph500/graph500/archive/graph500-2.1.4.tar.gztar -xvf ./graph500-2.1.4.tar.gzmv graph5...

2018-08-22 21:11:45 2422

转载 Ubuntu 16.04中进行Sysbench环境搭建

原文网址:http://liujunming.top/2017/11/27/Sysbench%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/本文只介绍sysbench的使用教程,详细介绍见参考资料。1、安装MySQLsudo apt-get install mysql-server安装过程中需要设置密码,我们设置为123。2、更改MySQL配置文件...

2018-08-22 21:10:17 2791

原创 配置docker使用btrfs存储驱动

首先我们的系统是Cent OS,系统信息如下:步骤如下:1、停止Docker运行,输入指令:service docker stop2、对/var/lib/docker目录下重要的内容进行备份,然后清空该目录,指令如下:sudo cp -au /var/lib/docker /var/lib/docker.bksudo rm -rf /var/lib/docker...

2018-08-22 20:42:09 1378

转载 特定的进程被调度到哪个 CPU 内核(或 NUMA 节点)上运行

原文网址:http://www.pgygho.com/help/fwq/10961.html当你在多核 NUMA 处理器上运行需要较高性能的 HPC(高性能计算)程序或非常消耗网络资源的程序时,CPU/memory 的亲和力是限度其发挥最大性能的重要因素之一。在同一 NUMA 节点上调度最相关的进程可以减少缓慢的远程内存访问。像英特尔 Sandy Bridge 处理器,该处理器有一个集成的 P...

2018-08-18 21:30:56 2218

转载 linux内核中的likely()和unlikely()宏的作用

原文链接:https://blog.csdn.net/jasonchen_gbd/article/details/44968395在看linux内核代码的时候,经常会看到likely(x)和unlikely(x)宏的使用。那这两个宏有什么作用呢?这两个宏在内核中的定义如下:# define likely(x) __builtin_expect(!!(x), 1)# define unli...

2018-08-14 21:43:12 241

转载 Linux内核中do{...}while(0)意义

原文网址:http://www.spongeliu.com/415.htmllinux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:...

2018-08-13 22:40:43 1561

原创 Linux内核中的链表

1 链表简述在讲Linux内核中的链表之前,我们先来看一下平时所见的链表:/*平时所见的单向链表*/struct entry{ int data; char * desc; struct entry *next;}/*平时所见的双向链表*/struct entry{ int data; char * desc; struct entry *prev; struct...

2018-08-12 21:06:48 981 1

原创 Linux内存管理之高端内存

Linux对内存的管理划分成三个层次,分别是Node、Zone、Page。对这三个层次简介如下:层次 说明 Node(存储节点) CPU被划分成多个节点,每个节点都有自己的一块内存,可以参考NUMA架构有关节点的介绍 Zone(管理区) 每一个Node(节点)中的内存被划分成多个管理区域(Zone),用于表示不同范围的内存 Page(页面) 每一个管理区又进...

2018-08-10 22:41:03 6392 1

原创 Linux内存管理之SLAB分配器

注:本文讲述的SLAB相关代码是基于Linux内核v4.7,代码网址。1、SLAB分配器的由来在讲SLAB分配器之前先说两个概念: 内部碎片和外部碎片。外部碎片指的是还没有被分配出去(不属于任何进程)但由于太小而无法分配给申请内存空间的新进程的内存空闲区域。外部碎片是除了任何已分配区域或页面外部的空闲存储块。这些存储块的总和可以满足当前申请的长度要求,但是由于它们的地址不连续或其他原因...

2018-08-06 15:07:49 8839

转载 Linux内存管理

摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市...

2018-07-31 10:38:53 137

原创 为什么使用多级页表?

对于32位处理器来说,32位的线性地址被分成三部分,如下图。其中,最低12位表示偏移量,中间的10位表示页表项,最高10位表示页目录项。由线性地址转换成物理地址经过两部,也就是所谓的二级页表。32位线性地址寻址过程如下:\说明:控制寄存器cr3中存放了页目录的物理地址,通过cr3寄存器可以找到页目录,而线性地址中的Directory部分决定页目录中的目录项,而页目录项中存放了要找的页表...

2018-07-29 21:17:15 28317 4

原创 Ubuntu 16.04中解决 libmpi_mpifh.so cannot open shared object file

在安装NASA的NPB软件时,遇到了如下的问题:这个问题应该是少了openmpi的库,解决方案如下:sudo apt-get install openmpi-dev libopenmpi如果上面还不行,试试下面的这个:sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev...

2018-05-20 17:54:25 2432

原创 Ubuntu 16.04中error: No Fortran 77 compiler问题解决

在安装mpich-3.2.1中遇到如下问题:解决方案:sudo apt-get install g77结果发现不行,如下图:另一种解决方案,安装gfortran:sudo apt-get install gfortran问题解决PS.在Ubuntu14可能需要使用如下指令:sudo apt-get install fort77...

2018-05-20 17:19:58 10006 1

转载 让服务器CPU充分发挥性能

原文网址:http://blog.51cto.com/tonyzeng/1359446现在我们在尝试抓包,如何发挥服务器最大化性能成为摆在我们面前的一个问题。今天给大家介绍一下CPU性能的配置项。1、首先在Linux系统内查看一下目前的CPU物理频率和工作频率,在下面你会发现,我们的CPU是E5-2620 2.0GHz,但是CPU工作在1400MHz下。2、重启系统进入BIOS进行设置CPU Po...

2018-05-13 21:36:52 4101

转载 LevelDb实现原理

原文网址:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html郑重声明:本篇博客是自己学习 Leveldb 实现原理时参考了郎格科技系列博客整理的,原文地址:http://www.samecity.com/blog/Index.asp?SortID=12,只是为了加深印象,本文的配图是自己重新绘制的,大部分内容与原文相似,大家可...

2018-05-12 20:51:55 166

转载 浅析 Bigtable 和 LevelDB 的实现

原文网址:https://draveness.me/bigtable-leveldb浅析 Bigtable 和 LevelDB 的实现12 AUG 2017 server leveldb database nosql bigtableBigtableLevelDB小结Reference在 2006 年的 OSDI 上,Google 发布了名为 Bigtable: A Distributed Sto...

2018-05-09 22:39:44 341

原创 KVM:ImportError: No module named virtinst

在开启KVM的时候,遇到了如下问题:解决方案:apt-get install --reinstall virtinst

2018-05-02 10:35:21 1040

原创 Requested operation is not valid: network 'default' is not active

我在安装KVM时并没有进行网络配置。安装完成并且添加虚拟机后,在启动虚拟机是出现了如下问题:Requested operation is not valid: network 'default' is not active解决方案:virsh net-autostart defaultvirsh net-start default再次开启虚拟机,问题解决。...

2018-05-01 18:52:40 1661

原创 KVM虚拟机CPU Pinning(CPU 钉选)实践

  在KVM中运行的所有虚拟机在主机操作系统中作为用户空间的任务运行,通过钉选操作,可以将某一vCPU(虚拟CPU)与物理CPU进行绑定,可以看成是线程绑定到某一物理CPU中。Pinning(钉选)实现方法:方法一:  如果在安装KVM、QEMU时也安装了virt-manager,可以尝试通过图形界面的virt-manager进行CPU Pinning操作,如下图:       双击虚拟机,会出现...

2018-05-01 18:32:19 3541

原创 NUMA(Non-Uniform Memory Access)

   通常,在业界存在两种主要类型的并行体系结构:共享内存体系结构(Shared Memory Architecture)和分布式内存体系结构(Distributed Memory Architecture)。而共享内存结构有两种类型:统一内存访问(UMA)和非同一内存访问(NUMA),有些博客中多一种只用高速缓存的存储器架构(Cache-Only Memory Architecture,简称CO...

2018-04-28 11:54:09 4758

转载 U盘安装CentOS 7

参考原文网址:https://www.linuxidc.com/Linux/2016-07/133646.htm步骤如下:1、下载CentOS 7,网址:https://www.centos.org/download/2、下载软碟通,网址:https://cn.ultraiso.net/xiazai.html3、将ISO镜像刻录到U盘,过程如下:    1)启动UItraISO,选择:文件--&g...

2018-04-27 20:06:49 149

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除