- 博客(15)
- 资源 (41)
- 收藏
- 关注
原创 nginx 代码分析listen 和request请求的流程
listen 针对于server的端口进行监听,server的配置可以比较复杂如:server { listen 192.168.8.81:80; server_name vae.test1.com *.test1.com;<!--hosts文件配置的地址--> index index.html; location /te
2017-04-28 15:05:30 1212
原创 nginx构建static location tree和查找
参考地址 : http://blog.chinaunix.net/uid-27767798-id-3759557.html nginx在处理location的配置的时候,用到了一种三叉排序树,加速了通过request的url和location的映射速度三叉排序树的形成过程:pclcf->static_locations = ngx_http_create_locations_tree(cf, lo
2017-04-27 17:32:21 687
原创 nginx 读取配置到conf_ctx流程
nginx配置读取从这个函数开始:ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle) //初始化一些参数{... if (ngx_conf_param(&conf) != NGX_CONF_OK) {//重启带着old_cycle时获取配置文件地址 environ = senv; ngx_destroy_c
2017-04-24 17:02:50 2489
原创 nginx-多进程启动和通信
nginx-多进程启动和通信先上图:主进程:主要处理信号来控制nginx的启动和停止 子进程:依靠主进程的socket进程间通信来控制子进程的退出等
2017-04-20 18:32:23 571
原创 nginx源码分析—信号初始化和使用
序ngx_init_signals()函数 ngx_signal_t结构signals数组sigaction结构ngx_signal_handler()函数ngx_master_process_cycle()数小结1序 本文主要分析nginx信号初始化及其处理,信号处理用于master进程的接收reload,stop等操作。2.1 ngx_init_signals()函数ngx_i
2017-04-19 16:44:45 626
转载 nginx源码分析—处理继承的sockets
Content序侦听结构ngx_add_inherited_sockets()分析ngx_set_inherited_sockets()分析小结1.序源代码://通过环境变量NGINX完成socket的继承,继承来的socket将会放到init_cycle的listening数组中。//在NGINX环境变量中,每个socket中间用冒号或分号隔开。完成继承同时设置全局变量ngx_inh
2017-04-19 10:55:01 503
转载 Nginx slab的实现 --- 第五篇“基于页的内存释放”
说明:本系列的文章基于Nginx-1.5.0版本代码。在上一篇”基于块的内存释放“中,我们已经见过一个函数:static voidngx_slab_free_pages(ngx_slab_pool_t *pool, ngx_slab_page_t *page, ngx_uint_t pages);单从名字应该就已经能够猜到这个函数的作用了,没错,就是本篇的主题 — ”基于页的内存释放“,当释放的
2017-04-18 18:22:45 519
转载 Nginx slab的实现 --- 第四篇“基于块的内存释放”
说明:本系列的文章基于Nginx-1.5.0版本代码。本篇开始将涉及到Nginx slab内存管理中与内存释放相关的内容,紧跟上一篇的步伐,趁热打铁,就从“基于块的内存释放”开始吧。 开门见源码:voidngx_slab_free(ngx_slab_pool_t *pool, void *p){ ngx_shmtx_lock(&pool->mutex); ngx_sla
2017-04-18 18:18:30 1221
转载 Nginx slab的实现 --- 第三篇“基于块的内存分配”
说明:本系列的文章基于Nginx-1.5.0版本代码。在“基本布局”一篇中我们曾经介绍过,ngx_slab.c的实现中将内存的分配分为了两个大类,除了上一篇讲的“基于页的内存分配”外,另一类就是本篇中要介绍的“基于块的内存分配”了。 为了能够满足对小块内存的申请需求,Nginx slab分配器将页划分为更小的块(chunk),并引入了“slot分级内存管理数组”来与“page页内存管理数
2017-04-18 18:05:41 849
转载 Nginx slab的实现 --- 第二篇“基于页的内存分配”
摘要: 本篇在上一篇“基本布局”的基础上介绍“基于页的内存分配”机制,也为后续讲解“基于块的内存分配”机制做个铺垫。 说明:本系列的文章基于Nginx-1.5.0版本代码。在上一篇中已经介绍了Nginx slab分配器的基本原理和内存空间布局,现在我们将在此基础上引入“基于页的内存分配”的相关内容。之所以这样安排是因为它的实现相对于“基于块的内存分配”要简单许多,同时它又是“基于块的内存分配”的基
2017-04-18 17:47:12 727
转载 Nginx slab的实现 --- 第一篇“基本布局”
Nginx slab 用于进程间的共享内存转自 https://my.oschina.net/u/2310891/blog/672539 说明:本系列的文章基于Nginx-1.5.0版本代码。 Nginx slab分配器用于管理和分配小于一页的内存申请,但实际上大于一页的内存分配也是统一实现的, 具体代码在core/ngx_slab.c文件中,对应的头文件是core/ngx_slab.
2017-04-18 17:40:42 975
转载 深入理解ngx_align_ptr宏及内存管理
http://blog.csdn.net/cywosp/article/details/7044288nginx 内存池的内存地址对齐和长度按照2的幂取整内存池的里面返回的地址,都是经过对齐处理的,这样使用这个对齐的地址比如做memcpy的时候,不用跨cache line 性能更好吧。 又学了一招。 关于cache line : 如下代码 第一段总是比第二段快,因为cache 的存在
2017-04-18 11:10:14 421
转载 NGINX原理分析 之 SLAB分配机制 (转)
作者:邹祁峰 邮箱:Qifeng.zou.job@gmail.com 博客:http://blog.csdn.net/qifengzou 日期:2013.09.15 23:19 转载请注明来自”祁峰”的CSDN博客初始化完成之后,整个内存结构布局就是这个样子滴(一目了然):1 引言众所周知,操作系统使用伙伴系统管理内存,不仅会造成大量的内存碎片,同时处理效率也较低下。SLAB是一种内存管理
2017-04-18 10:03:30 527
原创 系统资源管理工具
系统资源管理工具2.1 系统资源管理工具 54 2.1.1 虚拟地址清除工具——Vadump 54 2.1.2 内存清理工具——Clearmem 55 2.1.3 内存监视工具——Memmonitor 56 2.1.4 内存快照抓取工具——Memsnap 58 2.1.5 内存泄漏检测工具——Poolmon 60 2.1.6 资源泄漏处理工具——Memtriage 63 2.1.7 监
2017-04-13 10:36:24 841
原创 关于linux下代码获取系统GPU情况
关于linux下代码获取系统GPU情况在windows下开发的d3d11 代码,程序需要获取系统的GPU信息一直没有找到。linux下开源工具: intel-gpu-tools intel GPU tools简单记录 windows下只能推荐一些工具:intel VTune™ 或者 GPA
2017-04-01 15:14:50 1197
C++类型转换(char* string cstring unicode ansi )转换
2015-04-01
gn_project.zip
2019-12-06
lib-mp4v2_IOS_build.zip
2015-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人