linux
secretx
这个作者很懒,什么都没留下…
展开
-
IO模型浅析
概述服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:同步阻塞IO(Blocking IO):即传统的IO模型。同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。IO多路复用也叫异步阻塞(IO Multipl原创 2015-10-15 16:00:54 · 850 阅读 · 0 评论 -
swap初探
swap初探线上机器不停发邮件报警,swap使用超过阀值。实在受不了邮件,决定干点运维的活。看看情况。查swap整体使用情况free -m最先最直接就是这条命令了,结果类似下图 total used free Swap: 34175 11374 22801sar -r(原创 2016-04-07 11:17:58 · 1054 阅读 · 0 评论 -
linux IO模型与AIO
AIO 简介Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4 版本内核的补丁中也可以找到它。AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。I/O 模型在深入介绍 AIO API转载 2016-12-15 12:31:11 · 3490 阅读 · 0 评论 -
关键字杀进程
不做运维,linux基础还真不如运维同学犀利,再次受教了,总结一下背景经常多进程部署服务,restart, stop时需要根据关键字搜索出这一组进程,杀掉比如:python dir/tcp_server.py &多次执行起了多个进程,现在希望搜索dir/tcp_server.py 杀掉这组进程CUTps -ef | grep dir/tcp_server.py | grep -原创 2016-12-28 14:56:54 · 714 阅读 · 0 评论 -
tcp自连接问题
今天在Segmentfault上有人提问了一个tcp自连接问题,这里记录下。所谓tcp自连接,就是出现源ip和源端口通目的ip和目的端口完全相同的情况,乍看起来不可思议,细细一想情理之中,本文重现下这种连接,并且说下解决思路。现象重现在linux主机下运行下面的python脚本,等待一会即可出现。import socketimport timeconnecte转载 2016-12-29 18:36:37 · 1686 阅读 · 0 评论 -
TCP/IP摘要
TCP/IP是互联网的基础协议栈,它包括大大小小几十个协议。本篇文章主要涉及到就是HTTP、TCP、IP协议。我们经常学的网络模型是七层或者五层,实际上一般认为一共只有四层就可以了。 Application layer ->HTTP-------------------------- Transport layer转载 2017-01-16 12:22:31 · 2002 阅读 · 0 评论 -
tcp_tw_recycle和tcp_tw_reuse
tcp_tw_recycle和tcp_tw_reusetcp TIME_WAIT进入主题前必须做铺垫啊,讲讲TIME_WAIT.因为TCP连接是双向的,所以在关闭连接的时候,两个方向各自都需要关闭。先发FIN包的一方执行的是主动关闭;后发FIN包的一方执行的是被动关闭。主动关闭的一方会进入TIME_WAIT状态,并且在此状态停留两倍的MSL(最大报文存活时间,一般Linux内核设置30秒)原创 2017-04-07 16:14:43 · 6526 阅读 · 0 评论 -
小实验:Broken pipe和Connection Reset by Peer
网络开发常遇到Broken pipe和Connection Reset by Peer两个错误,一直没有深究其差别,只是笼统的知道是对方关闭了socket,做好异常处理就行.这两天刚好徒弟问到,猛地发现我竟无力解释,决定深究深究1.基本原理要说原理嘛,大家都能知道,就是TCP的三次握手和四次挥手,关于这个网上图形解说一大把,随意搜索,简述三次握手client说 SYN,原创 2017-03-31 15:50:02 · 2906 阅读 · 1 评论