自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赶路

治疗对未来焦虑的良药,就在今天你自己的所为。------天道酬勤,功不唐捐

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

转载 lsof 查看进程打开那些文件 或者 查看文件给那个进程使用

lsof命令是什么?可以列出被进程所打开的文件的信息。被打开的文件可以是1.普通的文件,2.目录  3.网络文件系统的文件,4.字符设备文件  5.(函数)共享库  6.管道,命名管道 7.符号链接8.底层的socket字流,网络socket,unix域名socket9.在linux里面,大部分的东西都是被当做文件的…..还有其他很多怎样使用lsof

2016-08-01 10:42:53 4261

转载 关于overflow

gcc支持以下flag:ccflags-y += -fstrict-overflow -Wstrict-overflow=5ccflags-y += -Wall -Wtype-limits -Wsign-compareccflags-y += -Wextra gcc中关于 -fstrict-overflow的介绍https://gcc.gnu.org/onlined

2015-12-31 14:44:57 1281

转载 VIM基本操作(本人还不熟悉的~)

更大范围的移动:* 当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;# 当光标停留在一个单词上,# 在文件内搜索该单词,并跳转到上一处;(/) 移动到 前/后 句 的开始;{/} 跳转到 当前/下一个 段落 的开始。g_ 到本行最后一个不是 blank 字符的位置。fa

2015-11-18 11:47:56 564

转载 使scp不用输入密码

有些时候,我们在复制/移动文件 到另一台机器时会用到scp,因为它比较安全。但如果每次都要输入密码,就比较烦了,尤其是在script里。不过,ssh有另一种用密钥对来验证的方式。下面写出我生成密匙对的过程,供大家参考。第一步:生成密匙对,我用的是rsa的密钥。使用命令 "ssh-keygen -t rsa"[user1@rh user1]$ ssh-keygen -t

2015-11-18 10:47:52 486

转载 linux使用FIO测试磁盘的iops

FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。fio 官网地址:http://freshmeat.net/projects/fio/一,FIO安装wget

2015-11-09 20:02:19 497

转载 linux后台运行和关闭、查看后台任务

fg、bg、jobs、&、nohup、ctrl+z、ctrl+c 命令一、&加在一个命令的最后,可以把这个命令放到后台执行,如watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本二、ctrl + z可以将一个正在前台执行的命令放到后台,并且处于暂停状态。三、jobs查看当前有多少在后台运行的

2015-09-10 11:55:10 711

转载 快速计算整数的二进制表示法中1的个数

题目:给定一个无符号32位整数x,求x的二进制表示法中含1的个数?第一种算法:int OneCount(unsigned int x){  for(int count=0; x>0; count++)    x&=x-1;//把最后面的1变0  return count;} 上面算法的时间复杂度就是1的个数。第二种算法(查表法):

2015-07-14 20:42:25 653

转载 如何解压RPM包

有时我们需要RPM包中的某个文件,如何解压RPM包呢?RPM包括是使用cpio格式打包的,因此可以先转成cpio然后解压,如下所示:rpm2cpio xxx.rpm | cpio -div例如:[root@localhost oracle]# rpm2cpio oracle-instantclient11.2-basic-11.2.0.2.0.i386.r

2015-06-09 10:20:30 658

转载 xshell配色方案

备份两个,以备后用,保存为XXX.xcs即可[ubuntu]text(bold)=ffffffmagenta(bold)=ad7fa8text=ffffffwhite(bold)=eeeeecgreen=4e9a06red(bold)=ef2929green(bold)=8ae234black(bold)=555753red=cc0000blue=346

2015-05-28 14:19:35 676

转载 ssh-keygen配合~/.ssh/config免密码及user@host登陆

用过终端登录远程服务器或者VPS的童鞋都用过类似的命令:ssh username@hostname.com,输入密码后就可以登录远程服务器了,但是人总是懒滴,Here,免输入密码登录远程服务器的方法:打开终端,本地生成id_rsa(私钥),id_rsa.pub(公钥):ssh-keygen -t rsa如图所示(一路按enter键):公钥(id_rsa.

2015-03-11 14:27:46 6304

转载 Linux crash dump文件生成与使用

不像Windows程序需手动调用相关函数,Linux程序crash dump(称为core dump)文件会在程序崩溃(如SIGSEGV)时自动生成,只需要在之前设置了一个参数即可——当然,windows的方式能够支持更灵活的功能。生成:1,  使用ulimit -c unlimited设置参数(unlimited表示dump文件大小无限制,否则会截断到设置大小),或在程序中调用setrl

2015-03-11 12:09:35 3137

转载 深入探索 Kdump

Kdump 是一种基于 kexec 的 Linux 内核崩溃捕获机制,将 kernel 崩溃前的内存镜像保存,程序员通过分析该文件找出 kernel 崩溃的原因,从而进行系统改进。本文首先介绍了 kdump 的基本概念,其次以 RHE6.2 和 SLES11 为例介绍如何安装和配置 kdump。Kdump 的基本概念什么是 kexec ?Kexec 是实现 kd

2015-03-11 11:53:59 575

转载 Centos 时间同步

新装的服务器可能设置了错误的,需要调整时区并调整时间.如下是使用NTP来从一个时间服务器同步cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimentpdate us.pool.ntp.org很简单吧,解析一下,第一句是把当前时区调整为上海就是+8区,想改其他时区也可以去看看/usr/share/zoneinfo目录;

2015-03-11 11:51:17 419

转载 BitMap相关操作

#define WORD 8#define SHIFT 3 ////移动3个位,左移则相当于乘以8,右移相当于除以8取整  #define MASK 0x07 #define N 100000000  char bitmap[1 + N / WORD];  /*  * 置位函数——用"|"操作符,i&MASK相当于mod操作  * m mod n 运算,当n = 2的X

2014-11-30 23:02:02 396

转载 外企面试口语(转载收藏)

我为各位整理出英文面试最常见的五大问题,并且提醒各位一些回答的技巧,希望大家能针对这些问题多演练,当成练习英文面试的重点。 问题一:Could you please describe yourself?(能否请你形容一下自己?)这个问题,一来是想要了解你是什么样的人,二来是想看看你是否知道如何重点式地自我简介。 在回答时,要针对应征工作的性质来凸显自己的特色,可以多用形容词,并且引

2014-10-22 09:17:47 576

转载 Linux内核定时器

linux kernel 定时器的使用非常方便,只需要执行一些初始化的操作,设置一个超时时间,指定超时发生时执行的函数,然后激活定时器就可以了。它的处理和工作队列还是有点类似的。其实,在Linux内核开发中,很多的操作都是类似的。还有一点需要注意的,内核定时器并不是周期运行,它在超时后自动销毁。因此,如果要实现周期轮询,就需要在定时器执行函数返回前再次激活定时器。下面看看一个实现轮询操作的小例

2014-10-21 09:56:57 724

转载 linux block 设备基本总结-来自于linux设备驱动开发详解

块设备是与字符设备并列的概念,这两类设备在Linux中驱动的结构有较大差异,总体而言,块设备驱动比字符设备驱动要复杂得多,在I/O操作上表现出极大的不同,缓冲、I/O调度、请求队列等都是与块设备驱动相关的概念。块设备的I/O操作特点字符设备与块设备I/O操作的不同在于:① 块设备只能以块为单位接受输入和返回输出,而字符设备则以字节为单位。大多数设备是字符设备,因为它们不需要缓冲而且不以

2014-10-10 14:14:03 1710

转载 request_queue, request, bio

bio 代表一个IO 请求request 是bio 提交给IO调度器产生的数据,一个request 中放着顺序排列的bio当设备提交bio 给IO调度器时,IO调度器可能会插入bio,或者生成新的request request_queue代表着一个物理设备,顺序的放着request ===========================分割线====

2014-10-10 10:29:24 864 1

转载 Linux内核中ioremap映射及remap_page_range的透彻理解,实例

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:  (1)I/O映射方式(I/O-mapped)  典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如

2014-10-08 14:36:30 4623

转载 e820简介

e820是和BIOS的一个中断相关的,具体说是int 0x15。之所以叫e820是因为在用这个中断时ax必须是0xe820。这个中断的作用是得到系统的内存布局。因为系统内存会有很多段,每段的类型属性也不一样,所以这个查询是“迭代式”的,每次求得一个段。    我们看内核源代码。主要涉及两个文件:arch/x86/boot/memory.c和arch/x86/kernel/e820_32.c

2014-09-30 16:41:05 1737

转载 linux内存管理总结之内存分配

1.伙伴系统    伙伴系统规定,无论是已分配内存块和空闲内存块,其大小都是2的k次幂个页面的大小,k的取值范围是0到MAX_ORDER 。当需要分配一个大小为n个页面大小的内存块时,先计算一个i值,使2^i-1 ,然后在空闲内存块页面大小为2^i的链表中查找,若无符合要求的块,则在2^i+1的链表中查找......,这种情况下这样一个大的内存块便被分为了两部分,两部分彼此成为了伙伴,

2014-09-26 17:17:36 1246

转载 Zero Copy简介

原文出处: http://www.ibm.com/developerworks/library/j-zerocopy/传统的I/O使用传统的I/O程序读取文件内容, 并写入到另一个文件(或Socket), 如下程序:File.read(fileDesc, buf, len);Socket.send(socket, buf, len);会有较大的性能开销, 主要

2014-09-25 10:39:20 452

转载 Linux Page Cache机制

1 、前言  自从诞生以来,Linux 就被不断完善和普及,目前它已经成为主流通用操作系统之一,使用得非常广泛,它与Windows 、UNIX 一起占据了操作系统领域几乎所有的市场份额。特别是在高性能计算领域,Linux 已经成为一个占主导地位的操作系统,在2005年6月全球TOP500 计算机中,有 301 台部署的是 Linux 操作系统。因此,研究和使用 Linux 已经成为开发

2014-08-13 16:56:06 1722

转载 B+树的插入及删除操作

图解B+树的插入和删除(一看就懂)一,    M阶B+树的定义(M阶是指一个节点最多能拥有的孩子数,M>2):图1.1 3阶B+树        (1)根结点只有1个,分支数量范围[2,m]。        (2)除根以外的非叶子结点,每个结点包含分支数范围[[m/2],m],其中[m/2]表示取大于m/2的最小整数。        (3)所

2014-08-12 18:35:48 4185

转载 B树 B+树

第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自

2014-08-12 17:22:45 745

转载 字符串第一个重复出现的字符

//找出一个字符串中第一个重复出现的字符#include #include #include //memset#include #include #define N 256char Find(char str[], int n){char temp[N] = {0};char dst;//memset((void *)temp,0x00,N*si

2014-07-31 16:25:59 551

转载 堆排序

堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆  堆实际上是一棵完全二叉树,其任何一非叶节点满足性质:  Key[i]=Key[2i+1]&&key>=key[2i+2]  即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。  堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>=key[2i+2]称为大顶

2014-07-30 15:11:59 366

转载 高并发服务端 IOCP 浅析

传统的 Server/Client 实现都是为每个请求创建独立的线程,处理一个客户的请求。但这种实现在客户端请求并发量巨大的情形下效率低下,于是出现了 IOCP(Input/Output Completion Port)。本文从 IOCP 的基本概念和思想出发,比较 IOCP 与传统 Server/Client 实现的利弊,分析了 JDK 中异步 I/O 和 IOCP 的具体实现,并以一个 L

2014-07-29 10:29:30 836

转载 概率p输出1,概率1-p输出0,等概率输出0和1

有个输出0和1的BIASED RANDOM,它以概率p输出1,以概率1-p输出0,以此RANDOM函数为基础,生成另一个RANDOM函数,该函数以1/2的概率输出1,以1/2的概率输出0题目解答:两次调用该RANDOM函数,如果其概率为P(x),调用2次P(1) = p       P(0) = 1-pP'(1) =p      P'(0) = 1-p概率如

2014-07-24 11:09:26 1129

转载 100万个电话号码在文件里,找出重复的;内存不足以放下所有数据。

将电话号码转为数值型 数值代表位图的偏移量 创建一个100,000,000/8+1大小的byte数组作为位图 num/8表示偏移量 num%8表示在该byte的第几位 如果该位是0,置为1 如果是1,已经重复

2014-07-24 09:56:44 2143

转载 判断一个单链表是否有环及环的链接点

一种方法是设置两个指针指向单链表的head, 然后开始遍历,第一个指针走一步,第二个指针走两步,如果没有环,它们会直接走到底,如果有环,这两个指针一定会相遇。该方法的实现代码如下,程序中找出了环的起始位置:

2014-07-24 09:33:10 480

转载 atoi 和 itoa

#include #include #include int atoi(const char *str){        int sign = 1;        int total = 0;        assert(str!=NULL);        while(*str==' ')        {                str++;

2014-07-24 09:30:14 370

转载 计算一个无符整数中bit位为1的个数

1.循环法(Iterated Count)int bitcount (unsigned int n) {int count=0;        while (n) {      count += n & 0x1u ;      n >>= 1 ;    }return count ;}最容易理解和想到的方法。对每一位依次判断是否为1,

2014-07-24 09:07:37 2937

转载 C++静态成员变量和静态成员函数

数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员. 非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以

2014-07-16 15:38:39 409

转载 lvm 逻辑卷的快照及备份 还原

1. LVM的快照概述    LVM机制还提供了对LV做快照的功能,以此来获得文件系统的状态一致性备份。LVM采用写时复制技术(Copy-On-Write,COW),不用停止服务或将逻辑卷设为只读就可以进行备份,使用LVM快照功能既可以获得一致备份,又不会影响服务器的可用性。    LVM采用的写时复制,是指当LVM快照创建的时候,仅复制原始卷中数据的元数据。换句话说,也就是在创建

2014-06-04 18:32:12 3578

转载 Linux 内核中的 Device Mapper 机制

Linux 内核中的 Device Mapper 机制本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍。Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Li

2014-05-29 09:02:35 474

转载 LVM 之元数据恢复 积累

pvcreate --force --uuid "J3rAmx-dEVn-SBH0-8aAS-AtMu-xy6l-ot1ibr" --restorefile /etc/lvm/backup/vg_sun /dev/sde

2014-05-27 16:19:23 2388

转载 Linx卷管理详解

Linx卷管理详 一、 前言    每个Linux使用者在安装Linux时 都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。 

2014-05-27 15:53:12 735

转载 C字符串处理函数的实现

C字符串处理函数的实现(Linux)#include char * ___strtok = NULL;char * strcpy(char * dest,const char *src){char *tmp = dest;while ((*dest++ = *src++) != '\0')/* nothing */;return tmp;}

2014-05-26 09:34:20 488

转载 FTP协议的分析和扩展

FTP协议的分析和扩展>>1.0根据是使用Port模式还是Passive模式,FTP使用不同的TCP端口号,在详细描述FTP前,我们来简单讨论一下TCP端口号的一些基本概念。TCP使用端口号来标识所发送和接收的应用,端口号可以帮助TCP来分离字节流并且帮相应字节传递给正确的应用程序。TCP端口号可以是半永久的和暂时的。服务器端监听在半永久的端口上来让客户端访问。客户端使

2014-05-13 19:25:34 1224

空空如也

空空如也

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

TA关注的人

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