ipcs与Linux共享内存

2016年7月2日 没有评论

一、共享内存相关知识

所谓共享内存,就是多个进程间共同地使用同一段物理内存空间,它是通过将同一段物理内存映射到不同进程的 虚拟空间来实现的。由于映射到不同进程的虚拟空间中,不同进程可以直接使用,不需要像消息队列那样进行复制,所以共享内存的效率很高。共享内存可以通过mmap()映射普通文件机制来实现,也可以System V共享内存机制来实现,System V是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信,也就是说每个共享内存区域对应特殊文件系统shm中的一个文件。

二、共享内存原理

System V共享内存把所有共享数据放在共享内存区,任何[......]

Read more

进程上下文频繁切换导致load average过高

2016年6月26日 没有评论

一、问题现象

现网有两台虚拟机主机95%的cpu处于idle状态,内存使用率也不是特别高,而主机的load average达到了40多。

二、问题分析

先在主机上通过top、free、ps、iostat 等常用工具分析了下主机的CPU、内存、IO使用情况,发现三者都不高。通过vmstat 1 查看的结果如下:

context switches

从vmstat的输出结果来看,io项的block in 和block out 并不频繁。而system项的每称的中断数(in)、每秒的上下文切换(cs)特别频繁。这就造成load avaerage会特别高。大[......]

Read more

多行合并为一行

2016年6月24日 没有评论

现网中经常遇到匹配到某一关键字下的所有行合并到同一行,再次匹配到相关关键字再和下面的合并,示例如下:

# line1
a
b
# line2
c
d
e
# line3
f

想要变成:

# line1 a b
# line2 c d e
# line3 f

即:把某个"# line"打头与下一个"#line"打头之间的行合成一行(这一行包括#line),但两个#line之间的行数是不确定的。

以下是发动群众从群里得到的解决方法(分别为sed和awk实现):

# sed实现方法[......]

Read more

分类: perl/php/python/gawk/sed 标签: ,

帐户安全加固导致crontab -l无法输出

2016年6月14日 没有评论

一、故障现象

数据库用户反馈在oracle用户下执行crontab -l 无法正常输出结果,而且有错误提示:Authentication token is no longer valid; new one required ,You (oracle) are not allowed to access to (crontab) because of pam configuration. 。而其他用户执行正常。

crontab auth vaild

二、故障处理与解决

由于提到了pam 配置,所以先是查看了/etc/pam.d/crond 配置和正常主机做对比,发现并无异常。[......]

Read more

fiddler post二进制数据

2016年6月13日 没有评论

python解决GPS打卡问题

2016年6月12日 没有评论

haproxy小结(四)ebtree

2016年6月7日 没有评论

haproxy小结(三)配置示例

2016年6月6日 没有评论

haproxy小结(二)配置文件篇

2016年6月5日 没有评论

haproxy小结(一)基础概念篇

2016年6月4日 没有评论