baijing8416
码龄8年
关注
提问 私信
  • 博客:16,155
    16,155
    总访问量
  • 暂无
    原创
  • 1,380,549
    排名
  • 0
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2017-03-28
查看详细资料
个人成就
  • 获得1次点赞
  • 内容获得0次评论
  • 获得6次收藏
创作历程
  • 6篇
    2016年
  • 4篇
    2014年
  • 24篇
    2013年
  • 5篇
    2012年
  • 22篇
    2011年
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

tcp不同场景下的关闭分析

tcp的关闭可以分为两大类场景一、socket主动close,或在socket没有close的情况下进程exit退出,或kill -9强制关掉进程( kill掉进程时,内核会清理掉文件描述符(包括socket描述符 ))这3种场景都可以看做同一种情况。具体又可以分为两种情况如果发送缓冲区或接收缓冲区任然有数据未发送或未接收,则会发rst包给对端,对端收到后不回应直接关闭连...
转载
发布博客 2016.09.07 ·
220 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux LVM分区 查看dm设备

在linux中iostat -d查看磁盘状态时,有的会有如下dm-0,dm-1的条目. Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 0.19 0.57 2.92 341228 1753052dm-0...
转载
发布博客 2013.04.10 ·
162 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

timeout的一些常规解决办法

一般来说timeout并不会对服务器造成什么大的影响,但如果timeout过多导致进程文件描述符不够用或服务器端口不够用就需要注意了。下面是一些常规的timeout解决办法。注意:不是长久之计/etc/sysctl.conf net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;(安...
转载
发布博客 2016.08.24 ·
3606 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

map使用不当导致cpu暴涨

上线新功能导致服务器cpu暴涨。经分析为map assign过于频繁,导致频繁的内存malloc与memorymove,耗尽cpu。使用go tool定位过程记录1. 获取进程内函数执行统计 go tool pprofhttp://10.139.252.109:9360/debug/pprof/profile top10的函数如下: 2. runt...
转载
发布博客 2016.10.11 ·
731 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

子shell 进程ID($$)

shell脚本中$$指当前进程ID,而调用$()执行命令时会生成子shell,按理说$()中用$$获取到的进程号是子shell的进程ID,但shell的规则是它获取到的是current shell的pid,而current_shell的进程id在这表现为派生子shell的shell进程ID #!/bin/bashecho $$test(){ echo $$...
转载
发布博客 2013.04.26 ·
344 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

tcp SACK选择确认位

场景考虑一个场景,tcp发动端连续发送了4个包1-200,201-300,301-400,401-500. 接收端接收了1-200, 201-300,401-500。由于301-400没有收到,所以接收端只能发送一个ack 301给发送端,以确认1-300都收到,而401-500无法给发送端确认。这时发送端不知道301-400和401-500这两个包是否到达接收端。解决办法...
转载
发布博客 2016.09.07 ·
416 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

自旋锁 死锁

以前在看linux操作系统时始终理解不了单CPU自旋锁导致死锁的问题.今天在网上搜了一下总算是理解了.摘录如下 想象你的内核代码请求到一个自旋锁并且在它的临界区里做它的事情,在中间某处,你的代码失去了处理器。或许它已调用了一个函数(copy_from_user,假设)使进程进入睡眠。也或许,内核抢占发威,一个更高优先级的进程将你的代码推到了一边(注意,这都是假设,自旋锁其实不允许这...
转载
发布博客 2013.04.12 ·
368 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

http长连接的一些点

http短连接,一般是服务器端主动关闭连接(历史原因 https://www.zhihu.com/question/24338653)http 请求header头中通过Connection: 头字段来指定是否需要keep-alive。 其中http1.0和http1.1关于Connection头又有不同点http1.0不支持keepalive,所以发送头为Connection...
转载
发布博客 2016.08.24 ·
97 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

可重入内核与可重入函数

所有的内核都是可重入的.但可重入内核不只是包含可重入函数.也可以包含不可重入函数,这时候信号量,自旋锁之类的同步机制就派上用场了.转载于:https://www.cnblogs.com/traxex/archive/2013/04/12/5850893.html...
转载
发布博客 2013.04.12 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

梦想

50岁之前走一遍丝绸之路,体验东西历史文化交流中的物是人非去一趟中东,踏上人类文明的起源地。感受古文明的征服与被征服,文化的传播与互相影响。路线-》波斯-伊拉克-叙利亚-埃及-突尼斯-希腊-意大利待续转载于:https://www.cnblogs.com/traxex/p/5802867.html...
转载
发布博客 2016.08.24 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mysql监听多个端口的两种方式

有两种方式。 1.利用MYSQL的mysqld_multi,在my.cnf中配置多个[mysqldN],比如[mysqld0],[mysqld1]。2.创建多个配置文件和相应目录,如my.3306.cnf,my.3307.cnf.两种方式差不多。第一种方式优点在于集中管理一个配置文件就可以(但一般不会在同一个服务器上监听三个以上端口吧)。但定制每个端口实例不太方便(毕竟...
转载
发布博客 2013.04.08 ·
560 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux top部分列详解

linux TOP按f键可以出来显示条目选项.按p可以调出SWAP列. SWAP列相对于进程来说其实就是保存在该进程对应的文件中(而非保留在SWAP分区中).大小等于VIRT-RES的大小.VIRT为进程申请的虚拟内存大小(但不会全用),如MYSQL为了以后的运行可能申请1G的虚拟内存,但只会将最常用的和正在使用的驻留在内存中.RES即是真正驻留的物理内存大小(即算作真正的内存消耗...
转载
发布博客 2013.03.28 ·
211 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

socket 连接复位情况

在如下几种情况会产生连接复位 1. 在另一端已经关闭连接的情况下,本端还往这个连接上(fd)读写数据2. 一端奔溃并重新启动,另一端过来的请求会收到连接复位 转载于:https://www.cnblogs.com/traxex/p/5850877.html...
转载
发布博客 2014.06.25 ·
285 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

nginx hash源码分析

HASH是NGINX核心数据结构之一.见几个链接.分析的很详细 1.http://www.linuxidc.com/Linux/2012-08/67040.htm2.http://www.oschina.net/question/234345_420653.http://blog.csdn.net/lifeibo/article/details/58971264.http:...
转载
发布博客 2013.02.05 ·
117 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux优先级

进程调度优先级中PR 和NI的含义,用TOP可以看到 PR 进程的优先级。在Linux 2.6.23之前的版本中PR是一个动态值,在运行的过程中可能出现变化。大体策略是:如果一个进程sleep了比较多的时间,PR值会降低(即优先级提高);如果一个进程占用了大量的CPU时间,PR值会升高(即优先级降低)。在2.6.23版本之后,由于引进了CFS调度策略,不再简单根据一个进程sleep...
转载
发布博客 2014.01.20 ·
131 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

rsync invalid gid

执行rsync时经常会遇到invalid gid ***,或invalid uid ***的问题 这是因为服务器端没有这个用户组或者用户,但你在配置文件里写了该用户组或用户.比如我的报错invalid gid nobody我用id命令id nobody 显示如下uid=65534(nobody) gid=65534(nogroup) groups=65534(nog...
转载
发布博客 2013.04.22 ·
247 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

fgetc read缓冲机制区别

read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间的. 而fgetc是标准函数, 是在用户空间I/O缓冲区的比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O缓冲区中,再返回第一个字节,这时该文件在内核中记录的读写位置是1024,而在FILE结构体中记录的读写位置是1.所以如果read一次读取的缓冲大小是1个字节,则1K的文件,r...
转载
发布博客 2012.11.13 ·
372 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

linux查看raid信息

有时我们需要看一下服务器的raid信息. 1.软件raid的话可以通过 cat /proc/mdstat md1 : active raid1 sdb3[1] sda3[0] 480572352 blocks [2/2] [UU] md3 : active raid1 sdb2[1] sda2[0] 1952704 blocks ...
转载
发布博客 2013.04.10 ·
160 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

创建动态链接是链接静态库报错

创建一个动态库时报错,如下 relocation R_X86_64_32 against `vtable for Base' can not be used when making a shared object; recompile with -fPIC../sdk/lib/libbase.a: could not read symbols: Bad value因为其中链...
转载
发布博客 2014.01.03 ·
143 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

mysql重启失败 ib_logfile

重启mysql主库时遇到 log file /data1/webserver/mysql/data/ib_logfile0 is of different size 0 5242880 bytes 只要rm ib_logfile*即可。ib_logfile类文件是innodb引擎的事务日志文件。看mysql文档The ib_logfile's hold statements...
转载
发布博客 2013.04.08 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多