linux comet模型下的连接数统计

2016年11月4日 没有评论

comet模型的主机维持长连接,单台连接接数可以达到百万(现网目前用的最高单台可达到60万左右),在统计网络连接状态时会netstat会长期不响应,而SS命令统计相对较快,不过输出不够美观 。本篇主要总结下comet模型下的连接数常见统计方法。tcp连接主机是通过读取/proc/net/tcp文件进行的统计。具体每项值的意思见下图(点击可查看大图)


一、C++ 代码实现连接数统计

[root@361way netstat]# cat ss++.cc
// code from www.361way.com
#include<i[......]

Read more

python将某目录下所有excel文件合并

2016年11月3日 没有评论

一、需求

公司要求把从16年1月1日到当前的所有处理事件合并 ,简单的理解就是把所有的日报合并到一个表格中呗。刚好16所有的日报都保留在一个文件夹中了,这里通过python + xlrd(读) + xlsxwriter(写) 实现把所有的日志汇总到一个excel 文件中 。这里没有用xlwt模块进行写操作,由于目前主流使用的office基本都2007以后的了,所以xlsxwriter支持相对更好些。

原日报的格式如下:

xls_report

需要汇总如下格式

python-xlsx-report

二、python实现

先上代码:

[ro[......]

Read more

linux内存管理

2016年10月30日 没有评论

今天这篇文章主要是我之前看linux内核相关知识和博客Gustavo Duarte中。我主要是看了这篇博客,并且结合之前的知识,对内存管理的的理解又上升了一个档次。所以想通过这篇文章总结下。

我们先来看下linux内存布局,此图比我之前写的那篇文章写的布局更详细

在linux中,每一个进程都被抽象为task_struct结构体,称为进程描述符,存储着进程各方面的信息;例如打开的文件,信号以及内存等等;然后task_struct的一个属性mm_struct管理着进程的所有虚拟内存,称为内存描述符。在mm_struct结构体中,存储着进程各个内存段的开[......]

Read more

linux内存分配与回收

2016年10月29日 没有评论

在 linux 运维过程中,经常会跟开发一起沟通内存的占用情况,站在运维的角度,我们经常会使用free、top、slabtop、smem、/proc/pid/maps、/proc/pid/smaps 等工具或文件去说明内存的使用和占用机制。以及free下的buffer和cache内存是否算是可用内存,里面又涉及到共享内存(lib库的调用最为明显)、各进程的独享内存、文件属性、索引内存等。最终搞的开发听的也不知所云,自己也觉得画虎似猫 。以下引用罗道文的一篇博文,站在开发和系统的角度说明内存的分配、回收、占用机制。该文主要通过如下几个方面进行说明:

进程的内存申请与分配[......]

Read more

pyinstaller打包exe文件

2016年10月28日 没有评论

python编写windows tomcat守护进程

2016年10月9日 没有评论

windows下bat curl实现tomcat进程守护

2016年10月8日 没有评论

netsh命令获取所有连接过的wifi密码

2016年9月30日 没有评论

Docker小结(二)配置mysql数据库

2016年9月4日 没有评论

Docker小结(二)dockerfile

2016年9月3日 没有评论