工具
ou叮当
这个作者很懒,什么都没留下…
展开
-
Linux工具篇之——watch命令
watch命令是一个可以周期性的执行命令并且输出结果的一个命令,可以用来动态的查看命令的运行结果执行 watch 后接命令就可以全屏动态的显示命令的输出了-n 参数表示刷新命令输出的时间间隔-d 参数可以颜色显示两次输出的不同的地方如,想要监控某个日志文件的大小的变化情况:watch -d -n 1 ls -la tag //间隔一秒执行一次原创 2015-06-02 00:55:05 · 417 阅读 · 0 评论 -
vagrind检测内存泄露
今天想检测自己写的一段代码有没有内存泄露,于是想到了googleperf和vagrind,对比了一下,vagrind能检测出一处内存泄露,而googleperf却没有,不知道是什么原因,这两个工具的原理也不太一样,vagrind的在自己的模拟环境下跑的,而googleperf是通过链接自己的tcmalloc的方式来实现。vagrind检测内存泄露的方法是这样的:方法valgrind --leak-c原创 2017-11-23 11:02:17 · 2397 阅读 · 0 评论 -
Makefile编译当前目录下所有c文件到共享库
在编写c的项目的时候有时候把接口文件都放在一个目录下,并且需要打包成一个共享库,这时候我们充分的利用通配符和函数就可以不用把所有文件都一一写出来了。OBJS := $(patsubst %.c, %.o, $(wildcard *.c))OUTLIB := libmyapi.soCFLAGS := -fPIC -I.CFLAGS += -I ../myapiall: $(OBJS) $(OUTL原创 2017-11-29 17:34:25 · 8697 阅读 · 0 评论 -
perf之timechart(系统性能图形化分析工具)
perf record可以统计系统在一段时间内,进程的性能表现,但是其结果不适合直接阅读,有很多图形化工具可以把其结果转换成图形界面的方式,而perf自带了timechart分析工具,当然它只记录了进程粒度上的表现,还是替代不了火焰图这种可以在函数级别上进行分析的工具,最好可以配合使用。原创 2017-11-06 10:07:58 · 15020 阅读 · 1 评论 -
iperf点到点测速
iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。在嵌入式开发的过程中经常需要用到这个工具,下面我们演示一下如何利用这个工具来测两台机器之间的数据传输速度: 分别在两台待测机器中安装iperf,我使用的是ubuntusudo apt-get install iperf3然后其中一台作为客原创 2017-10-17 14:37:45 · 9463 阅读 · 2 评论 -
http进行wifi认证的设计思路
目前很多家庭的wifi被客人“万能钥匙”自动分享,导致家里wifi慢的可怜,这次回家就看到家里的wifi的dhcp服务器上挂满满的各种陌生的客户端,其实来了家里都是朋友肯定不会去主动分享密码的,于是我想wifi密码改来改去的还是被一些“小人软件”自动分享了,有没有什么方法来抵抗这个呢,当然一般路由器可以隐藏ssid和或者绑定mac的方式可以解决,但是这个对于客人来说太不友好了,主人家也麻烦。所以突发原创 2017-10-22 00:16:25 · 11093 阅读 · 0 评论 -
svn sqlite[S5]:database is locked
今天遇到一件比较奇葩的事情,在svn update的过程中直接ctr+z终端svn命令,结果再次svn update,报错“sqlite[S5]:database is locked”。sqlite被锁住了,svn cleanup没用了。解决该问题的方法如下:cd .svnmv wc.db wc.db.oldsqlite3 wc.db.old.backup main wc.db.exitc原创 2017-09-06 11:49:19 · 12809 阅读 · 0 评论 -
google-gperftools分析代码时间分布
安装gperftools下载代码git clone https://github.com/gperftools/gperftoolscd gperftools./autogen.sh./configuremake -j8sudo make install安装git clone git://git.sv.gnu.org/libunwind.gitcd libunwind./configu原创 2017-08-15 00:02:44 · 7772 阅读 · 0 评论 -
gperftools检查内存泄漏
上次,我们提到利用google gperftools定位程序cpu使用性能问题,这次利用同样的工具的heap checker的功能对程序进行内存泄漏的定位。安装请看之前的文章:#include <iostream>#include <vector>using namespace std;extern "C" {#include <string.h>}class MyClass { p原创 2017-08-18 15:27:39 · 7804 阅读 · 0 评论 -
Linux下fd泄露的定位
之前在公司写过一个生产工具,通过读写某个驱动节点实现设备信息更改的功能,结果测试拷机两小时必挂,一看内核打印“打开文件失败”,perror了之后打开文件太多了,这时候我就猜到是fd(句柄)泄露了。句柄泄露是怎么回事呢,linux打开文件通常都是open返回一个fd的形式,操作系统会维护当前进程打开文件的记录,但是数量是被限制的,操作系统能打开的fd总和也是有限的,如果进程一直打开文件而不关闭,那么当原创 2017-08-10 09:17:21 · 17829 阅读 · 0 评论 -
iptable mark功能
iptable的mark功能可以用于标记网络数据包,用于标记数据包。在一些不同的table或者chain之间需要协同处理某一个数据包时尤其有用。下面介绍iptables简单的用法: -j MARK //-j代表动作这里代表要执行mark操作 -m mark //-m代表匹配mark –mark xxx/yyy //xxx代表要匹配的mark的值,yyy代表掩码,如果要完全匹配可以省略掉掩码,不原创 2017-08-08 22:38:11 · 2689 阅读 · 0 评论 -
利用SSH反向代理树莓派
利用ssh反向代理树莓派 如果你没有一台公网服务器,可以不用继续读下去了痛点与第一性原理首先由于当前ipv4资源枯竭和运营商出于安全考虑的原因,网络上多分到动态的ip或者nat的局域网ip,加上防火墙限制了tcp的主动连接方向,所以很难直接在公网访问局域网的设备。但是玩树莓派的时候我们想要在外网连接树莓派做一些事情,这就是痛点。利用一台公网服务器坐反向代理服务器我们就可以做到这点了,原理是利用原创 2017-08-02 00:11:58 · 10957 阅读 · 2 评论 -
protocol buffers c语言的使用
以下源码示例来源于https://github.com/protobuf-c/protobuf-c/wiki/Examples 定义消息message AMessage { required int32 a=1; optional int32 b=2;}安装protobuf-c我们需要把proto文件编译成c源码,才能在代码中使用,所以需要用到官方的编译工具sudo apt-get原创 2017-11-27 16:28:08 · 4807 阅读 · 0 评论