上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 64 下一页
摘要: 并发编程有两种:消息传递 以及共享内存 消息传递更容易保证程序的正确性!!! 线程同步原则: 尽可能降低共享对象!减少同步的场合 使用高级的并发结构- 任务队列 生产者消费者模型 引用计数 不到万不得已不要使用底层同步源语,只用非递归互斥和条件变量;至于读写锁信号量 这个 还是不用吧!! 读写锁 不 阅读全文
posted @ 2021-05-19 15:10 codestacklinuxer 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 看下 ngx的内存池,目前发现和STL相差不多 把内存分配归结为大内存分配和小内存分配。若申请的内存大小比同页的内存池最大值 max 还大,则是大内存分配,否则为小内存分配。 大块内存的分配请求不会直接在内存池上分配内存来满足请求,而是直接向系统申请一块内存(就像直接使用 malloc 分配内存一样 阅读全文
posted @ 2021-05-18 11:51 codestacklinuxer 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 系统整体CPU使用率是多少? 每个CPU呢?CPU负载并发程度? 单线程 多线程? 多进程?那些应用程序/用户在使用CPU 使用了多少?那个内核线程在使用CPU 使用了多少?中断CPU 是多少CPU 互联使用率是多少用户 内核级别在CPU 上的调用路径什么类型的停滞周期 谁测量 为什么测量 测量什么 阅读全文
posted @ 2021-05-16 18:50 codestacklinuxer 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 这是一般进程的地址空间划分,现在有个问题,如果进程出现使用较多内存,非常明显,在不使用valgrind 工具下 能否看出来大概原因?? top命令我们已经能看出进程的虚拟空间大小(VIRT)、占用的物理内存(RES)以及和其他进程共享的内存(SHR)。但是仅此而已; 但是想知道 更详细的呢?? /p 阅读全文
posted @ 2021-05-14 10:28 codestacklinuxer 阅读(1747) 评论(0) 推荐(0) 编辑
摘要: 问题: 100g内存 结果内存有90+g内存被使用! 解决: 1、free -m的时候发现cached 较大,大约使用80G;分析可能和文件缓存在内存中相关 2、在/var 目录下查找大文件 du -lh 发现只有300M 3、那就只能认为是 文件被删除但是 文件还被占用! 导致文件一直缓存在cac 阅读全文
posted @ 2021-05-13 10:02 codestacklinuxer 阅读(214) 评论(0) 推荐(0) 编辑
摘要: dropwatch的内核把kfree_skb分成二类: 人畜无害的调用consume_skb 需要丢包的调用kfree_skb perf record -g -a -e skb:kfree_skb 跟踪kfree_skb 就可以知道 丢包!! 内核通过kfree_skb释放skb,kfree_skb 阅读全文
posted @ 2021-05-12 11:04 codestacklinuxer 阅读(461) 评论(0) 推荐(0) 编辑
摘要: slice Slice(切片)代表变长的序列,序列中每个元素都有相同的类型。一个slice类型一般写作[]T,其中T代表slice中元素的类型;slice的语法和数组很像,只是没有固定长度而已。 一个slice由三个部分构成:指针、长度和容量。指针指向第一个slice元素对应的底层数组元素的地址,要 阅读全文
posted @ 2021-05-09 16:09 codestacklinuxer 阅读(57) 评论(0) 推荐(0) 编辑
摘要: Message passing to invoke behavior in a program is a widely used technique in soft‐ware engineering. A program can modify another program’s behavior b 阅读全文
posted @ 2021-05-08 22:27 codestacklinuxer 阅读(413) 评论(0) 推荐(0) 编辑
摘要: https://switch-router.gitee.io/blog/sk-sndbuf/ 最近遇到一个问题,简化模型如下: Client 创建一个 TCP 的 socket,并通过 SO_SNDBUF 选项设置它的发送缓冲区大小为 4096 字节,连接到 Server 后,每 1 秒发送一个 T 阅读全文
posted @ 2021-05-06 16:31 codestacklinuxer 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 先看看之前的sockmap sockmap_ebpf sock_map2 ipvs-ebpf EBPF:本质上它是一种内核代码注入的技术 内核中实现了一个cBPF/eBPF虚拟机 用户态可以用C来写运行的代码,再通过一个Clang&LLVM的编译器将C代码编译成BPF目标码 用户态通过系统调用bpf 阅读全文
posted @ 2021-05-05 22:24 codestacklinuxer 阅读(2947) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 64 下一页