自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

转载 ltrace与strace用法

我们在内核调试的时候,经常想跟踪一下某一个进程的库函数调用或者跟踪每个进程的系统调用,这个时候我们就用到strace和ltrace ltrace能够跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪进程的每个系统调用. 下面我们还是用最简单的helloworld说明问题: #include intmain ()

2015-08-12 16:55:15 367

转载 内存管理单元-MMU

现代操作系统及CPU硬件中,都会提供内存管理单元(memory management unit,MMU)来进行内存的有效管理。内存管理算法有许多,从简单的裸机方法到分页和分段策略。各种算法都有其优缺点,为特定系统选择内存管理算法依赖于很多因素,特别是系统的硬件设计。1 内存管理的目的内存管理的目的是为了更好的使用内存(似乎是废话-,-)。内存是现代操作系统运行的中心。操作系统中任何一个进程

2015-08-10 19:36:41 393

转载 tlb

TLB - translation lookaside buffer快表,直译为旁路快表缓冲,也可以理解为页表缓冲,地址变换高速缓存。由于页表存放在主存中,因此程序每次访存至少需要两次:一次访存获取物理地址,第二次访存才获得数据。提高访存性能的关键在于依靠页表的访问局部性。当一个转换的虚拟页号被使用时,它可能在不久的将来再次被使用到,。TLB是一种高速缓存,内存管理硬件使用它来改善

2015-08-10 16:44:37 304

转载 如何使用strace+pstack利器分析程序性能

有时我们需要对程序进行优化、减少程序响应时间。除了一段段地对代码进行时间复杂度分析,我们还有更便捷的方法吗?若能直接找到影响程序运行时间的函数调用,再有针对地对相关函数进行代码分析和优化,那相比漫无目的地看代码,效率就高多了。将strace和pstack工具结合起来使用,就可以达到以上目的。strace跟踪程序使用的底层系统调用,可输出系统调用被执行的时间点以及各个调用耗时;pst

2015-08-10 16:15:30 226

转载 千万并发的秘密-内核是问题的根本

们现在已经搞定了 C10K并发连接问题 ,升级一下,如何支持千万级的并发连接?你可能说,这不可能。你说错了,现在的系统可以支持千万级的并发连接,只不过所使用的那些激进的技术,并不为人所熟悉。要了解这是如何做到的,我们得求助于Errata Security的CEO Robert Graham,看一下他在Shmoocon 2013 的绝对奇思妙想的演讲,题目是C10M Defendin

2015-08-10 15:55:37 251

转载 curl

用途说明curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络

2015-08-07 18:59:52 232

转载 rrdcache 和 batch的问题

不知道从什么时候开始,rrdtool里带了rrdcached这个程序,准备试用一下。官网已经有了比较详细的介绍,但是都是英文,翻译一个先。原文网址:http://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html当rrdcached接收到update的命令的时候,它并不会把这个命令写入磁盘,它会在多个队列中,寻找相应rrd文件的队列,如果没

2015-08-07 14:52:50 548

转载 用python爬虫抓站的一些技巧总结

阅读目录3.1 cookie的处理3.2 表单的处理3.3 伪装成浏览器访问3.4 反”反盗链”3.5 终极绝招1、用twisted进行异步I/O抓取2、设计一个简单的多线程抓取类1、连接池:2、设定线程的栈大小3、设置失败后自动重试4、设置超时5、登陆学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证

2015-08-02 22:05:10 795

转载 ovs

开发人员必读openstack网络基础6,讲了网桥,这里再次阐述,当是进一步加深理解网桥。不过本文重点讲的是Open vSwitch网桥Bridge(桥)是Linux上用来做TCP/IP二层协议交换的设备,与现实世界中的交换机功能相似。Bridge设备实例可以和Linux上其他网络设备实例连接,既attach一个从设备,类似于在现实世界中的交换机和一个用户终端之间连接一根网线。当有数据到达

2015-08-01 23:18:30 359

转载 veth pair

# ip netns add blue    # ip netns list    blue 添加网口到namespace先创建veth    # ip link add veth0 type veth peer name veth1在当前namespace可以看到veth0和veth1    # ip link list   

2015-08-01 23:10:09 865

转载 Linux下的虚拟Bridge实现

Linux下的Bridge也是一种虚拟设备,这多少和vlan有点相似,它依赖于一个或多个从设备。与VLAN不同的是,它不是虚拟出和从设备同一层次的镜像设备,而是虚拟出一个高一层次的设备,并把从设备虚拟化为端口port,且同时处理各个从设备的数据收发及转发,再加上netfilter框架的一些东西,使得它的实现相比vlan复杂得多。1.Bridge的功能框图    它是

2015-08-01 22:39:32 283

转载 netfilter 讲解 ,讲的很好

Netfilter为多种网络协议(IPv4、IPv6、ARP等)各提供了一套钩子函数。在IPv4中定义了5个钩子函数,这些钩子函数在数据包流经协议栈的5个关键点被调用。这就像有5个钓鱼台,在每个钓鱼台放了一个鱼钩(钩子函数),把经过的数据包钓上来,然后根据自定义的规则,来决定数据包的命运:可以原封不动的放回IPv4协议,继续向上层递交;可以进行修改,再放回IPv4协议;也可以直接丢

2015-08-01 22:32:29 1311

转载 剖析 Linux hypervisor

KVM 和 Lguest 简介Linux® 的最重要创新之一就是转变为hypervisor(或运行其他操作系统的操作系统)。现在涌现许多使用 Linux 作为内核的 hypervisor 解决方案。本文探索 hypervisor 背后的原理,以及两个使用 Linux 作为平台的 hypervisor(KVM 和 Lguest)。1 评论:

2015-08-01 17:43:54 371

转载 云计算的三种服务模式:IaaS,PaaS和SaaS

云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。  “云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。  任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样。不是所有人都是CTO,所以

2015-08-01 13:32:37 407

转载 epoll

Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后    首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在 我用的2.6.15-25-386内核中,该值是1024,搜

2015-08-01 12:47:09 258

转载 NAPI 技术在 Linux 网络驱动上的应用和完善

NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而代之以首先采用中断唤醒数据接收的服务程序,然后 POLL 的方法来轮询数据,(类似于底半(bottom-half)处理模式);从我们在实验中所得到的数据来看,在随着网络的接收速度的增加,NIC 触发的中断能做到不断减少,目前 NAPI 技术已经在网卡驱动层和网络层得到了广泛的应用,驱动层次上已

2015-08-01 12:28:52 355

转载 af_inet 与 pf_packet

socket PF_PACKET sock_raw:->packet_create->dev_add_pack Modify ptype_base|ptype_all:二层协议接收过程:netif_rx->process_backlog->netif_receive_skb:ptype_base|ptype_all    socket AF_INET  sock_raw:->ine

2015-08-01 11:04:30 1045

转载 Model,gcc的__sync_synchronize要慎用。

MENUHomeSUBSCRIBEMENU还是说Memory 29 JANUARY 2012 on C/C++当我们在做多线程编程的时候,会涉及到一个称为memory order的问题。例如int x=0,y=0;x=4;y=3;请问,实际执行的时候,这两条赋值语句谁先执行,谁后执行? 会不会有某个时间点,在某个CPU看来,y比x大?答案很

2015-08-01 10:42:54 1081

25学堂UI界面设计

25学堂-专注APP,网站UI界面设计,分享移动互联网优秀产品,ui素材下载,网页模板下载,UI/UX设计

2019-02-12

空空如也

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

TA关注的人

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