摘要:
之前聊过tcpdump 抓包原理,tcpdump使用packet 抓包,使用packet_map 完成零拷贝。但是这个零拷贝也有点假,何为假呢?从网卡到内存走的dma,哪能不能直接从dma拷贝到用户空间呢?? 使用dpdk直接从网卡中轮询数据? 如果使用现有的tcpip协议栈,反正内核态需要处理网络 阅读全文
摘要:
在对 socket 绑定和监听前经过了以下设置 无阻塞(O_NONBLOCK) TCP 无延时(TCP_NODELAY) 可重用地址(SO_REUSEADDR) 对于 clien server需要设置: 无阻塞 server -->无延时 1、SO_REUSEADDR选项: 在服务器程序中,SO_R 阅读全文
摘要:
昨天帮人查bug,发现了一个vfork fork exit _exit不分导致的问题。 使用vfork 后调用exit导致的问题。 主要需要弄清楚他们之间的区别: 1. fork ():子进程拷贝父进程的数据段,代码段 vfork ( ):子进程与父进程共享数据段2. fork ()父子进程的执行次 阅读全文
摘要:
查线上问题: 1、cpu idle 为0 ,I/O高, pidstat 发现进程io 不高,那就是cache mem引起系统io高了 没有vmstat,只能使用sar工具了,使用sar -r 查看buddyinfo 发现内存碎片化严重。同时drop_cache值为3一直在释放cache , eg:对 阅读全文
摘要:
线上问题 ./pidstat -w Linux 3.6.5-Broadcom Linux ((none)) 03/21/20 _armv7l_ (1 CPU) 15:04:17 UID PID cswch/s nvcswch/s Command 15:04:17 0 1 0.03 0.00 busy 阅读全文
摘要:
top , pidstat(sysstat) pid -p PID -t 1 10 vmstat 1 CPU上下文切换、运行队列、利用率 ps Hh -eo tid pcpu 查看具体线程的CPU消耗 ps -eLo pid,lwp,pcpu | grep 9140命令查看进程号为9140的进程中各 阅读全文
摘要:
1.目前valgrind 、 memleak 、free 、top 、ps 中vsz Rss 、 buddy、 slab 这些用的比较多,一般用于处理内存紧张问题 共享内存是通过 tmpfs 实现的,所以它的大小也就是 tmpfs 使用的内存大小。tmpfs 其实也是一种特殊的缓存。 可用内存是新进 阅读全文