Linux
YourGodFather
关注C/C、Java、Python、PHP、linux编程、Javascript、jquery、Linux内核、Hadoop、Hbase、NoSql、移动互联开发等
展开
-
用GDB调试程序
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。与VS下的图形界面形式的调试工具相比,GDB毫不逊色,使用更为自由。本文是学习使用GDB调试程序过程中的一些记录,主要参考《Using GNU's GDB Debugger》。------------------------------------------------------------------------------转载 2012-10-22 22:50:18 · 177 阅读 · 0 评论 -
Linux下的各种类型I/O总结
Linux的I/O机制经历了一下几个阶段的演进:(1)同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。(2)同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。(3)异步阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等函数转载 2012-10-23 15:56:26 · 986 阅读 · 0 评论 -
UNIX网络编程书中源代码测试环境搭建
Steven在书中例子都包含一个#include "unip.h",从书中附录可以看出该头文件包含了网络程序中所使用到的各种相关头文件,所以如果想自己测试书中的源代码的话,我们需要需要搭建一个环境,以下是自己的实践过程,记录下来,以便以后参考:1、下载书中源代码unpv13e.tar.gz:这个可以在书中前言给出的地址下载:http://www.unpbook.com/unpv13e.ta原创 2012-12-19 15:28:03 · 2759 阅读 · 1 评论 -
epoll
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明: #define转载 2013-04-01 21:32:31 · 445 阅读 · 0 评论 -
Linux的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,搜索内核源代码得转载 2013-04-01 21:19:09 · 474 阅读 · 0 评论 -
在Linux上开发网络服务器的一些相关细节:poll与epoll
随着2.6内核对epoll的完全支持,网络上很多的文章和示例代码都提供了这样一个信息:使用epoll代替传统的 poll能给网络服务应用带来性能上的提升。但大多文章里关于性能提升的原因解释的较少,这里我将试分析一下内核(2.6.21.1)代码中poll与 epoll的工作原理,然后再通过一些测试数据来对比具体效果。 POLL: 先说poll,poll或select为大部分Unix/转载 2013-04-01 21:24:30 · 473 阅读 · 0 评论 -
epoll使用详解(精髓)
epoll - I/O event notification facility 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自转载 2013-04-01 20:50:51 · 479 阅读 · 0 评论 -
linux系统管理命令之----高效使用top命令
对桌面用户来说,监视系统资源使用是一项重要的工作。通过这项工作,我们可以找到系统瓶颈所在、针对性的进行系统优化、识别内存泄露等。问题是,我们应该使用什么工具,以及如果针对我们的需求来使用它。在众多备选的监测工具中,多数人使用“top”(procps 包的一部分)。Top 提供了几乎可以说是所有的我们所需要的系统资源使用监测。本文中的所有信息都是基于运行在 Linux 2.6.x 内核上的版本号转载 2013-04-13 19:29:18 · 1757 阅读 · 0 评论