自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 SAN和NAS路径图

SAN路径图 NAS路径图

2019-09-05 16:20:30 325 0

转载 kmalloc/kfree,vmalloc/vfree函数用法和区别

1 kmalloc kmalloc内存分配和malloc相似,除非被阻塞否则他执行的速度非常快,而且不对获得空间清零. tiger说明:在用kmalloc申请函数后,要对起清零用memset()函数对申请的内存进行清零。 2 kamlloc函数原型 #include<linux/slab...

2019-08-14 11:32:24 102 0

转载 Linux 的 NUMA 技术

一、引言 随着科学计算、事务处理对计算机性能要求的不断提高,SMP(对称多处理器)系统的应用越来越广泛,规模也越来越大,但由于传统的SMP系统中,所有处理器都共享系统总线,因此当处理器的数目增大时,系统总线的竞争冲突加大,系统总线将成为瓶颈,所以目前SMP系统的CPU数目一般只有数十个,可扩展能力...

2019-08-13 17:08:44 543 0

转载 Linux Slab分配器--概述

slab分配器是Linux内存管理中非常重要和复杂的一部分,其工作是针对一些经常分配并释放的对象,如进程描述符等,这些对象的大小一般比较小,如果直接采用伙伴系统来进行分配和释放,不仅会造成大量的内碎片,而且处理速度也太慢。而slab分配器是基于对象进行管理的,相同类型的对象归为一类(如进程描述符就...

2019-08-12 11:35:51 70 0

转载 Linux内存管理中的slab分配器

Linux内核中基于伙伴算法实现的分区页框分配器适合大块内存的请求,它所分配的内存区是以页框为基本单位的。对于内核中小块连续内存的请求,比如说几个字节或者几百个字节,如果依然分配一个页框来来满足该请求,那么这很明显就是一种浪费,即产生内部碎片(internal fragmentation) 为了解...

2019-08-12 11:07:54 62 0

转载 解读关键字volatile

1 volatile是什么? volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。 2 编译器优化是什么意思? int ...

2019-08-09 16:47:42 14 0

转载 动态分级存储特性-SmartTier

1简介 SmartTier动态分级存储特性提供智能化数据存储管理的功能,通过统计和分析数据的活跃度,将不同活跃度的数据和不同特点的存储介质动态匹配,提高存储系统性能并降低用户成本。应用SmartTier特性不会中断现有业务,不会影响数据读写。SmartTier SmartTier通过数据迁移将活跃...

2019-08-01 20:16:19 578 0

原创 正则表达式标记

正则表达式标记属于正则的扩展表示法,格式:(?iLmsx) 各个字符的含义是: i:不区分大小写的匹配 L:根据所使用的本地语言环境通过\w、\W、\b、\B、\s、\S实现匹配 s:使点号(.)可以匹配\n m:能够在目标字符串实现跨行都说,而不必将整个字符串视为单个实体 x:该标记允许用户通过...

2019-07-06 15:53:19 176 2

转载 python re模块的findall和finditer

python正则模块re中findall和finditer两者相似,但却有很大区别。 两者都可以获取所有的匹配结果,这和search方法有着很大的区别,同时不同的是一个返回list,一个返回一个MatchObject类型的iterator content = '''e...

2019-07-05 17:42:53 1924 0

转载 正则表达式(括号)、[中括号]、{大括号}的区别小结

正则表达式的() [] {}有不同的意思。 () 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。 (\s*)表示连续空格的字符串。 []是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。 {}一般用来表示匹...

2019-07-05 17:17:09 2561 0

转载 python正则表达式中group

1 正则表达式中的(…) 用于匹配括号内的任何正则表达式,并且指明组的开始和结束位置;可以在执行匹配之后检索组中的内容,并且可以在可以在字符串中使用\number来进行进一步的匹配,如下所述。当需要匹配字符’(‘或者’)’时,可以使用(和) ,或者[(]和[)]来实现。 以上便是Python3.6...

2019-07-05 14:41:35 1534 0

转载 python字符串处理

str = ‘0123456789’ print str[0:3] #截取第一位到第三位的字符 print str[:] #截取字符串的全部字符 print str[6:] #截取第七个字符到结尾 print str[:-3] #截取从头开始到倒数第三个字符之前 print s...

2019-07-05 09:04:08 37 0

转载 怎样用 parted 管理硬盘分区

众所周知,对硬盘分区是 Linux 管理员一项最重要的管理任务之一,他们不能不知道这个。 你可能会问为什么我们要用 parted 而不是fdisk? 它们有什么区别?好问题,我会告诉你这两者的区别。 parted 支持用户在大于 2TB 的硬盘上创建硬盘分区, 但fdisk 命令不支持 对比 f...

2019-06-20 23:24:05 848 0

转载 parted分区和挂载及非交互式操作

交互式分区 1 将磁盘上原有的分区删除 进入:#parted /dev/sdb 查看:(parted)p 删除:(parted)rm 1 (parted)rm 2 2 将磁盘格式变成gpt的格式(part只能针对gpt格式的磁盘进行操作) 转换:(parted) mkla...

2019-06-18 15:10:30 507 0

转载 硬盘的读写原理

硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;...

2019-06-03 20:15:19 852 0

转载 存储快照实现原理

存储快照有两种实现方式:COW(写时复制Copy-On-Write)、ROW(写重定向Redirect-On-Write),两种实现方法有区别,造成读写性能、应用场景有比较大的区别。 1 COW 原理见下图(从网上找的,没自己画)。 1)原卷数据是A~G。此卷Metedata像指针一样指向这些数据...

2019-06-03 15:32:08 475 0

转载 Linux中的线程局部存储

在Linux系统中使用C/C++进行多线程编程时,我们遇到最多的就是对同一变量的多线程读写问题,大多情况下遇到这类问题都是通过锁机制来处理,但这对程序的性能带来了很大的影响,当然对于那些系统原生支持原子操作的数据类型来说,我们可以使用原子操作来处理,这能对程序的性能会得到一定的提高。那么对于那些系...

2019-05-28 14:49:59 37 0

转载 Linux下原生异步IO接口libaio介绍

在调研 fio的实现时,接触了libaio的使用方式。由于fio 的io engine发送及接受数据的流程是按照liaio库的方式进行的。所以初步使用了libaio。现总结如下。 几点说明 本文的重点在于libaio的使用方式。所以 对什么是同步、异步及阻塞、非阻塞IO,请参考相应资料。比较权威...

2019-05-07 13:50:02 1706 0

转载 Linux下libaio的一个简单例子

libaio是Linux下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高。 首先推荐两个介绍Linux I/O模型的页面,写的很好: http://www.ibm.com/developerworks/cn/linux/l-async/ http://www.ite...

2019-05-07 11:40:31 445 0

转载 LVM(逻辑卷管理器)的条带化

1 什么是条带化 当多个进程同时访问一个磁盘时,可能会出现磁盘冲突。磁盘系统对访问次数(每秒的IO操作,IOPS)和数据传输速率(读写速率,TPS)有限制。 当达到这些限制时,后面需要访问磁盘的进程就需要挂起等待,这就是磁盘冲突。避免磁盘冲突是优化I/O性能的一个重要目标。条带化技术是一种自动的将...

2019-04-25 20:29:25 216 0

转载 gdb打印内存字节

单字节16进制打印address地址处的长度为16的空间的内存,16表示空间长度,不是16进制,x表示16进制,b表示byte单字节可以使用examine命令(简写是x)来查看内存地址中的值。x命 令的语 法如下所示: x/&lt;n/f/u&gt; &lt;addr&am...

2019-01-30 11:40:48 704 0

转载 Git统计代码量

1 指定用户名版 git log --author=&quot;_Your_Name_Here_&quot; --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END...

2019-01-25 16:56:54 1659 0

原创 直接插入算法

1 算法原理 插入算法是每次将一个新数据插入到有序队列中的合适位置的一种算法。 算法的详细过程描述如下: 假设有一个无序队列R1, R2, R3, …, Rn (1)首先认为R1是有序的,然后将R2, R3,…,Rn依次插入到这个有序队列的合适位置,因此我们需要一个外部循环 (2)我们需...

2018-05-25 23:17:53 1771 0

原创 shell脚本执行错误 $'\r':command not found

在linux上执行脚本时出现$’\r’:command not found,然而仔细检查脚本,对应行位置只是一个空行,并没有问题,那么linux为什么会将一个回车的空行报错?原因是这样的:脚本是在window下编辑完成后上传到linux上执行的,win下的换行是回车符+换行符,也就是\r\n,而u...

2017-10-26 09:46:32 18377 0

转载 sed命令

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾...

2017-10-25 10:48:00 276 0

转载 Makefile之filter-out

1 功能说明$(filter-out PATTERN…,TEXT) `函数名称 :反过滤函数—filter-out。 函数功能 :和“filter”函数实现的功能相反。过滤掉字串“TEXT”中所有符合模式“PATTERN”的单词,保留所有不符合此模式的单词。可以有多个模式。存在多个模式时,模式表达...

2017-09-07 11:47:09 7518 0

转载 C运算符优先级

优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) --

2017-09-07 10:26:22 192 0

原创 CTDB代码流程简要梳理

ctdb 2.5.3主体代码流程

2017-08-14 16:00:57 1633 0

转载 教你上传本地代码到github

1. 建立git仓库 cd到你的本地项目根目录下,执行git命令git init2. 将项目的所有文件添加到仓库中git add .如果想添加某个特定的文件,只需把.换成特定的文件名即可。 3. 将add的文件commit到仓库git commit -m "注释语句"4....

2017-08-12 19:19:01 173 0

转载 对组件的引用(refs)

构建完你的组件之后,你可能会想要去寻求一个办法,来直接调用你在render()返回的组件的实例的方法。在大部分情况下,这应该不是必须的,因为在响应式数据流中,你要输出一些数据,你应该在render()中给子组件传递最新的属性。不过,在某些特殊情况下,直接操作组件实例的方法还是必要或者有利的。所以R...

2017-08-11 13:16:40 921 0

原创 React使用export导出类

React中使用export导出类可以有两种方法1. export default classname 这种导出方式与export default class classname extends React.class相同在其他文件中引用时采取如下方式import classname form p...

2017-08-08 21:57:12 17429 0

转载 React-Router入门Demo

01-setting-up 02-rendering-a-route 03-navigating-with-link 04-nested-routes 05-active-links

2017-08-02 23:36:42 507 0

原创 react+leaflet入门Demo

1 代码架构使用create-react-app脚手架创建react工程 2 引用leaflet的js和css文件在Index.html中引用上述文件 css文件 <link rel="stylesheet" href="https://unpkg.com/l...

2017-08-02 19:23:59 4530 0

原创 react-leaflet-draw绘图工具栏显示错乱

1 问题描述在使用react-leaflet-draw为地图增加绘制自定义图形功能时,发现对应的工具栏显示错乱,如下图 < map>组件文件对应源码如下:import React , { Component} from 'react' import { Ma...

2017-08-01 18:57:19 2102 0

原创 react-leaflet瓦片乱序/加载不全

1 问题描述环境:webpack+react-leaflet map组件源码:import React , { Component} from 'react' import { Map, TileLayer, Circle,FeatureGroup } from '...

2017-08-01 17:57:06 2394 0

原创 Error:No value provided for variable{mapId}解决方法

1 问题描述启动npm start发现浏览器出现以下错误2 原因描述如下所示,组件里面url中mapId没有为其赋值<Map id='MapCom' center={[51.505, -0.09]} zoom={13} zoomControl={false}> ...

2017-08-01 15:19:12 1112 0

转载 create-react-app my-appcreate-react-app慢的解决方法

在操作官方实例Create React App时,需要执行指令:create-react-app my-app来创建一个新的React应用。由于某原因,在拉取各种资源时,往往会巨慢,一直卡在fetchMetadata: sill mapToRegistry uri http://registry....

2017-08-01 14:09:31 2608 0

转载 React 快速上手脚手架 create-react-app

1 create-react-app简介为了快速地进行构建使用 React 的项目,FaceBook 官方发布了一个无需配置的、用于快速构建开发环境的脚手架工具 create-react-app。 当然,如果你需要 React Native 的脚手架项目,可以查看这里:create-react-...

2017-08-01 13:02:20 786 0

转载 npm常用命令

npm install 默认安装最新的包,也可以通过后面加版本号的方式指定安装版本,如 npm install leaflet@1.0.3 npm install -g全局安装依赖包,在代码中,直接通过require()的方式无法调用全局安装的包,全局的安装是供命令行使用的. npm ins...

2017-08-01 12:22:51 296 0

转载 comm命令

comm命令可以用于两个文件之间的比较,它有一些选项可以用来调整输出,以便执行交集、求差、以及差集操作。 交集:打印出两个文件所共有的行。 求差:打印出指定文件所包含的且不相同的行。 差集:打印出包含在一个文件中,但不包含在其他指定文件中的行。 语法comm (选项)(参数)选项-1:不显示在第一...

2017-07-29 20:55:37 528 0

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