安庆

导航

2018年7月20日 #

linux 协议栈tcp的rst报文中,seq的选取问题

摘要: 之前在《深入理解并行编程》的群里,有个小米的兄弟问了一个问题,服务器A发包给服务器B,Seq是1,但是在未能收到服务器B的报文回复的情况下,发送了rst,但是rst报文中,对应的seq是1461,一堆人都在猜测,为什么seq跳变了,由于当时只看到一半的图片,所以我让他发送完整报文出来之后,我 发现其 阅读全文

posted @ 2018-07-20 11:54 _备忘录 阅读(738) 评论(0) 推荐(0) 编辑

2018年7月19日 #

linux内核中的const成员是否可以修改?

摘要: 本文的基础知识:由于前半部分内容是转的,且不知道原文出处,没法给出原文地址,大家自行百度 const的实现机制 const究竟是如何实现的呢?对于声明为const的内置类型,例如int,short,long等等,编译器会如何实现const的本意?那么对于非内置类型是否也是与内置数据类型一样处理呢,例 阅读全文

posted @ 2018-07-19 20:07 _备忘录 阅读(377) 评论(0) 推荐(0) 编辑

2018年4月23日 #

在page cache中的页,如果当时没有进程read或者write,引用计数到底该为多少

摘要: 在一次偶然的机会,在研究如何降低pagecache占用的过程中,走查了 invalidate_mapping_pages的代码: 通过调用 __pagevec_lookup 在radix树中收集一部分page,然后尝试调用 invalidate_inode_page 来释放这个page。 我主要看_ 阅读全文

posted @ 2018-04-23 15:26 _备忘录 阅读(843) 评论(0) 推荐(0) 编辑

2018年3月15日 #

linux 排查page的状态问题

摘要: 最近遇到一个page的释放异常的问题,堆栈如下: 可以看出,page释放失败的原因是:non-NULL mapping,也就是释放的时候,page->mapping不为NULL,我们来看check函数: 按道理,如果是匿名页,释放的时候,page的mapping会被置为NULL,如下: 既然进入了b 阅读全文

posted @ 2018-03-15 10:24 _备忘录 阅读(5444) 评论(0) 推荐(0) 编辑

2018年3月11日 #

关于linux 内存碎片指数

摘要: linux针对每一个node的每个zone的每个order,都有一个碎片指数来描述当前的碎片程度,也就是 如果确定已经编译进入内核,但是也看不到/sys/kernel/debug/下的数据,那说明没有挂载,或者挂载的路径不是/sys/kernel/debug/,如果没有挂载则需要挂载一下: moun 阅读全文

posted @ 2018-03-11 12:18 _备忘录 阅读(2580) 评论(0) 推荐(0) 编辑

2018年2月13日 #

suse 奇怪的crash 问题

摘要: 最近遇到一个suse的crash 问题: 我没有使用 mkswap /dev/磁盘路径 来制作swap分区,我有很多剩余内存,我设置nr_swapfiles为0,可是我还是遇到了关于swap的crash。 阅读全文

posted @ 2018-02-13 10:19 _备忘录 阅读(781) 评论(0) 推荐(0) 编辑

2018年2月6日 #

suse 关于使用 /etc/init.d/boot.local的问题

摘要: 最近看了一个问题,有同事在 suse环境下的/etc/init.d/boot.local 中,增加了一行脚本。 该脚本的简单大意如下: 本来应该是最终走分支if的,但是运行发现,该脚本在java运行之后,也没能退出。 手工执行该脚本,也能正常退出,不会一直循环,那是什么原因导致的脚本不退出呢? 唯一 阅读全文

posted @ 2018-02-06 17:57 _备忘录 阅读(516) 评论(0) 推荐(0) 编辑

2018年1月30日 #

linux 如何降低入向收包软中断占比

摘要: 最近遇到一个问题,当tcp收包的时候,我们的服务器的入向软中断比例很高。 我们知道,napi模式,可以降低收包入向软中断占比,那么,针对napi模式,能不能优化?本文针对2.6.32-358内核进行分析: 从代码可以看出,限制一次调用net_rx_action的地方,无非是时间,还有netdev_b 阅读全文

posted @ 2018-01-30 19:03 _备忘录 阅读(2006) 评论(1) 推荐(0) 编辑

2018年1月20日 #

linux libpcap的性能问题,请大家注意绕行。

摘要: 内核代码中,ip_rcv是ip层收包的主入口函数,该函数由软中断调用。存放数据包的sk_buff结构包含有目的地ip和端口信息,此时ip层进行检查,如果目的地ip不是本机,且没有开启转发的话,则将包丢弃,如果配置了netfilter,则按照配置规则对包进行转发。 tcp_v4_rcv是tcp层收包的 阅读全文

posted @ 2018-01-20 11:42 _备忘录 阅读(9222) 评论(2) 推荐(2) 编辑

2018年1月4日 #

linux pagecache限制与查看

摘要: 在linux服务器使用过程中,由于linux对内存的使用原则是能cache就尽量cache,所以会出现pagecache占用很多的情况。 suse的版本有一个pagecachelimit的功能,centos中没有看到。即便是将这个功能合入到centos中,也会发现设置了没效果的情况。 1.将0改为对 阅读全文

posted @ 2018-01-04 08:49 _备忘录 阅读(13280) 评论(0) 推荐(1) 编辑