
linux编程
yiliyo
这个作者很懒,什么都没留下…
展开
-
linux系统参数之ip_local_port_range、tcp_max_tw_buckets、tcp_tw_reuse
一,linux TIME_WAIT 相关参数1,/proc/sys/net/ipv4/ip_local_port_range:端口范围,不要超过1024到65535,1024以下系统使用,65535以上会提示失败2,/proc/sys/net/ipv4/tcp_max_tw_buckets:kernel中最多存在的TIME_WAIT数量3,net.ipv4.tcp_tw_reuse = 0 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭4,n...原创 2020-12-19 17:03:09 · 6028 阅读 · 1 评论 -
sysctl.conf系统参数详解
转自:https://blog.youkuaiyun.com/weixin_40901788/article/details/83586965配置 sysctl.conf 系统参数(vi /etc/sysctl.conf)参数:1.内存&缓存kernel.sysrq = 0 内核设置验证为0kernel.core_uses_pid = 1 控制内核的系统请求调试功能开启,控制核心转储附加PID到核心文件名,适用于多线程kernel.msgmnb = 65536 每个消息队列的最大字节限制kern转载 2020-12-19 11:01:40 · 1191 阅读 · 1 评论 -
TCP的半链接和完全连接队列
TCP通过三次握手建立连接的过程应该都不陌生了。从服务器的角度看,它分为以下几步将TCP状态设置为LISTEN状态,开启监听客户端的连接请求 收到客户端发送的SYN报文后,TCP状态切换为SYN RECEIVED,并发送SYN ACK报文 收到客户端发送的ACK报文后,TCP三次握手完成,状态切换为ESTABLISHED在Unix系统中,开启监听是通过listen完成。intlisten(intsockfd,intbacklog)listen有两个参数,第一个参数sockfd表示...转载 2020-12-15 17:16:44 · 804 阅读 · 0 评论 -
linux内核初始化调用顺序
x86_64平台,上个图先,5种颜色各代表1个阶段:图片转自:https://blog.youkuaiyun.com/xxiomg/article/details/100558790For x86 64bits architecture platform, linux-2.6.35.4arch/x86/boot/header.S: the first instruction that runs in kernel image in real mode is at label "_start", then转载 2020-12-15 15:27:09 · 955 阅读 · 0 评论 -
文件IO内存零拷贝之-sendfile
如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将从用户空间应用程序的角度来阐述这个问题,因此有意忽略了复杂的内核实现。什么是”零拷贝”为了更好的理解问题的解决法,我们首先需要理解问题本身。首先我们以一个网络服务守护进程为例,考虑它在将存储在文件中的信息通过网络传送给客户这样的简单过程中,所涉及的操作。下面是其中的部分简单代阿:read(file, tmp_buf,转载 2020-06-12 00:14:50 · 313 阅读 · 0 评论 -
文件IO内存零拷贝之mmap
目录mmap基础概念mmap内存映射原理mmap和常规文件操作的区别mmap优点总结mmap相关函数mmap使用细节性能总结mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对转载 2020-06-11 23:17:41 · 622 阅读 · 0 评论 -
Epoll原理解析
转载自:https://blog.youkuaiyun.com/armlinuxww/article/details/92803381从事服务端开发,少不了要接触网络编程。Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要,Nginx、Redis、Skynet 和大部分游戏服务器都使用到这一多路复用技术。Epoll 很重要,但是 Epoll 与 Select 的区别是什么呢?Epoll...转载 2020-04-18 17:28:28 · 195 阅读 · 0 评论