2018年7月31日
摘要: 进程捕捉到信号对其进行处理时,进程正在执行的正常序列就被信号处理程序临时中断,它首先执行该信号处理程序中的指令。如果从信号处理程序返回(例如没有调用exit或longjmp),则继续执行在捕捉到信号时进程正在执行的正常指令序列。 1. 在信号处理程序中,我们要保证调用”异步信号安全”的函数,即可重入 阅读全文
posted @ 2018-07-31 23:54 WangTuo 阅读(679) 评论(0) 推荐(0) 编辑
摘要: 1.进程管理模式 PHP-FPM由1个master进程和N个worker进程组成。其中,Worker进程由master进程fork而来。 PHP-FPM有3种worker进程管理模式。 1. Static 初始化时调用fpm_children_make(wp,0,0,1)函数fork出pm.max_ 阅读全文
posted @ 2018-07-31 23:47 WangTuo 阅读(2164) 评论(0) 推荐(0) 编辑
摘要: 四种I/O方式的对比 1. Buffered I/O read(file, tmp_buf, len); write(socket, tmp_buf, len); 上下文切换:4次 CPU copy:2次 步骤1:read()系统调用使上下文从用户态切换到内核态。DMA engine从磁盘中读取文件 阅读全文
posted @ 2018-07-31 23:20 WangTuo 阅读(2316) 评论(0) 推荐(0) 编辑
摘要: 1.什么是false sharing 在对称多处理器(SMP)系统中,每个处理器均有属于自己的本地高速缓存区。 如图,CPU0和CPU1有各自的本地高速缓存区(cache)。线程0和线程1会用到不同的变量,它们在内存中彼此相邻。内存以64字节分割高速缓存行,我们假设红色变量与蓝色变量恰好分配在同一条 阅读全文
posted @ 2018-07-31 23:12 WangTuo 阅读(424) 评论(0) 推荐(0) 编辑
摘要: RT 阅读全文
posted @ 2018-07-31 23:06 WangTuo 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 如果想让特定进程或线程独占某一或某些CPU,我们需要做三件事. 一,隔离CPU,避免其它线程run在被隔离的CPU上. 二,绑定所有的interrupts到非隔离的CPU上,避免被隔离的CPU收到interrupt. 三,据你希望地,把特定的线程绑定到某一被隔离的CPU上. 1.CPU isolat 阅读全文
posted @ 2018-07-31 23:05 WangTuo 阅读(15075) 评论(0) 推荐(0) 编辑