linux
xiaofei0859
这个作者很懒,什么都没留下…
展开
-
对find参数-prune的理解
对find参数-prune的理解(PS:对find参数-prune的理解-prune就像一个判断语 句,当发现-prune前面的表达式math时,执行到-prune之后就会输出一个1结果,如果shell的话,可以使用echo $?来看结果,如果-prune后面跟的是-o选项,用c语言的语法来讲的话就是1 || -print,所以明显可以看到当-prune前面的 表达式成立的话,就不转载 2016-09-12 09:58:00 · 7147 阅读 · 0 评论 -
分布式存储系统可靠性如何估算
常规情况下,我们一般使用多副本技术来提高存储系统的可靠性,无论是结构化数据库存储 (如典型的 mysql)、文档型 Nosql 数据库存储 (mongodb ) 或者是常规的 blob 存储系统 (GFS、Hadoop) 等,无不如此。因为数据几乎可以称得上是企业生命力的核心,保障数据存储系统的可靠性对于任何企业来说都不是一件小事。那么,如何较为准确地去衡量集群数据的可靠性?如何进转载 2017-07-06 10:15:20 · 709 阅读 · 0 评论 -
AF_INET域与AF_UNIX域socket通信原理对比
转载:http://blog.csdn.net/sandware/article/details/409234911. AF_INET域socket通信过程典型的TCP/IP四层模型的通信过程。发送方、接收方依赖IP:Port来标识,即将本地的socket绑定到对应的IP端口上,发送数据时,指定对方的IP端口,经过Internet,可以根据此I转载 2017-07-07 09:27:07 · 537 阅读 · 0 评论 -
常见的并行程序设计问题的解决方法
常见的并行程序设计问题的解决方法1. 线程过多 线程并不是越多越好,对于某个程序,如果线程过多反而会严重地降低程序的性能。这种影响主要在于: 将给定的工作量划分给过多的线程会造成每个线程的工作量过少,因此可能导致线程启动和终止的开销比程序实际工作的时间还要多。 同时,太多并发线程的存在将导致共享有限硬件资源的开销增大。如转载 2017-07-07 09:47:21 · 2979 阅读 · 0 评论 -
高性能网关设备及服务实践(dpdk)--服务器架构研究
针对海量的网络流量,转发性能是我们最关键的一个方面,那构建高性能的后台服务器有哪些关键的技术和需要注意的地方,今天邀请了后台开发同学童琳和郑胜利来和大家一起谈谈。一、引言随着互联网的高速发展,内容量的提升以及对内容智能的需求、云产业的快速突起,作为互联网的计算基石服务器的形态以及使用成为了炙手可热的话题,全球各家大型互联网公司都持续的在服务器平台上有非常大的动作,譬如f转载 2017-07-04 14:59:27 · 4524 阅读 · 0 评论 -
再谈互斥锁与条件变量
pthread_cond_wait总和一个互斥锁结合使用。在调用pthread_cond_wait前要先获取锁。pthread_cond_wait函数执行时先自动释放指定的锁,然后等待条件变量的变化。在函数调用返回之前,自动将指定的互斥量重新锁住。int pthread_cond_signal(pthread_cond_t * cond);pthread_cond_signal通过转载 2017-07-24 08:49:12 · 247 阅读 · 0 评论 -
fork和exec的区别
1、fork() 一个程序一调用fork函数,系统就为一个新的进程准备了前述三个段,首先,系统让新的进程与旧的进程使用同一个代码段,因为它们的程序还是相同的,对于数据段和堆栈段,系统则复制一份给新的进程,这样,父进程的所有数据都可以留给子进程,但是,子进程一旦开始运行,虽然它继承了父进程的一切数据,但实际上数据却已经分开,相互之间不再有影响了,也就是说,它们之间不再共享任何数据了。而如转载 2017-08-17 22:07:49 · 13377 阅读 · 0 评论 -
一个 Linux 上分析死锁的简单方法
简介 死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就转载 2017-08-21 11:47:39 · 1789 阅读 · 0 评论 -
linux 工具篇
记录,学习使用http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/index.html原创 2017-08-21 15:23:39 · 340 阅读 · 0 评论 -
QUIC和TCP--为什么多线程下载比单线程快
作者:henrystark henrystark@126.comBlog: http://henrystark.blog.chinaunix.net/日期:20140626本文遵循CC协议:署名-非商业性使用-禁止演绎 2.5(https://creativecommons.org/licenses/by-nc-nd/2.5/cn/)。可以自由拷贝,转载。但转载请保持文档的完整性,注明转载 2017-08-23 22:26:23 · 3380 阅读 · 0 评论 -
Linux下的IPC-UNIX Domain Socket
一、 概述UNIX Domain Socket是在socket架构上发展起来的用于同一台主机的进程间通讯(IPC),它不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。UNIX Domain Socket有SOCK_DGRAM或SOCK_STREAM两种工作模式,类似于UDP和TCP,但是面向消息的UNIX Domain S转载 2017-07-05 10:30:27 · 507 阅读 · 0 评论 -
零拷贝原理-数据的收发-软中断和DMA
转载: http://blog.csdn.net/a417930422/article/details/52585862为何要懂零拷贝原理?因为rocketmq存储核心使用的就是零拷贝原理。io读写的方式中断DMA中断方式中断方式的流程图如下:用户进程发起数据读取请求系统调度为该进程分配cpucpu向io控制器(ide,scsi)发送io请求转载 2017-07-04 14:20:16 · 2968 阅读 · 0 评论 -
/dev/zero和/dev/null
dev/zero,是一个输入设备,你可你用它来初始化文件。/dev/zero------该设备无穷尽地提供0(是ASCII 0 就是NULL),可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入NULL。使用/dev/zero像 /dev/null一样, /dev/zero也是一个伪文件, 但它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的转载 2016-09-28 15:43:05 · 425 阅读 · 0 评论 -
Linux系统配置免密登录
Linux系统配置免密码的方式:1.生成密钥ssh-keygen -t rsa2.把本机的公钥追到jifeng02的 .ssh/authorized_keys 里ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.13.如果ssh的端口不是22,可用下面命令ssh-copy-id -i ~/.ssh转载 2016-12-15 14:51:54 · 1947 阅读 · 0 评论 -
同步IO 异步IO
IO基本概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字(可以理解为一个索引),指向内核中一个结构体(文原创 2016-12-22 16:53:19 · 3765 阅读 · 1 评论 -
CentOS yum升级GCC到4.8
wget http://people.centos.org/tru/devtools-2/devtools-2.repomv devtools-2.repo /etc/yum.repos.dyum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++三个安装包会被装在 /opt/rh/devtools转载 2017-01-06 18:05:17 · 3733 阅读 · 0 评论 -
Centos升级gcc4.4.7升级gcc4.8
出于需求系统自带的是gcc4.4.7,版本太低无法编译,被逼无奈只能升级gcc了,碰到很多坑,下载这个玩意就用了不少时间。123456[root@VM_222_92_centos ~]# gcc -vUsing built-inspecs.Target: x86_64转载 2017-01-06 18:06:25 · 2314 阅读 · 0 评论 -
IO中同步、异步与阻塞、非阻塞的区别
、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发转载 2017-04-10 23:11:46 · 290 阅读 · 0 评论 -
系统编程中的文件大小修改truncate/lseek
系统编程中的文件大小修改truncate/lseek思维导图文字说明lseek函数虽然可以扩展文件大小,但是与文件系统实现机制有关,在指定偏移量超过原文件大小的时候,会产生空洞,但是最后关闭文件的时候,内核是否把这些空洞写入到磁盘区块,则不是一定的,很多时候只扩展你实际写入的字节数!并不是在指定位置处写入新字符以后就完成指定偏移量的扩展。比如你在Ubuntu转载 2017-04-11 18:01:16 · 590 阅读 · 0 评论 -
结构体中最后一个成员为[0]或[1]长度数组(柔性数组成员)的用法
转载:http://blog.csdn.net/fengbingchun/article/details/24185217结构体中最后一个成员为[0]长度数组的用法:这是个广泛使用的常见技巧,常用来构成缓冲区。比起指针,用空数组有这样的优势:(1)、不需要初始化,数组名直接就是所在的偏移;(2)、不占任何空间,指针需要占用int长度空间,空数组不占任何空间。“这个数组不占用任何内存”,意味转载 2017-07-11 14:26:05 · 613 阅读 · 0 评论 -
自旋锁总结
自旋锁可分为用在单核处理器上和用在多核处理器上。单核处理器:用在单核处理器上,又可分为两种:1.系统不支持内核抢占此时自旋锁什么也不做,确实也不需要做什么,因为单核处理器只有一个线程在执行,又不支持内核抢占,因此资源不可能会被其他的线程访问到。2.系统支持内核抢占这种情况下,自旋锁加锁仅仅是禁止了内核抢占,解锁则是启用了内核抢占。转载 2017-07-02 23:58:45 · 905 阅读 · 0 评论 -
互斥锁、读写锁 、 自旋锁和RCU锁
基础知识思考整理 http://blog.csdn.net/aganlengzi/article/details/50996227互斥锁 mutex:在访问共享资源之前对进行加锁操作,在访问完成之后进行解锁操作。 加锁后,任何其他试图再次加锁的线程会被阻塞,直到当前进程解锁。 如果解锁时有一个以上的线程阻塞,那么所有该锁上的线程都被编程就绪状态, 第一个变为就绪转载 2017-07-03 00:45:58 · 1752 阅读 · 0 评论 -
nohup /dev/null 2>&1 含义详解
nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。该命令的一般形式为:nohup command &ls xxx 1>out.txt 2>&1nohup /mnt/Nand3/H2000G >/dev/nul转载 2017-11-21 19:16:39 · 1657 阅读 · 0 评论