好久没写博客了,因为没有啥可写。之所以有此疑问,是因为看了一篇大牛的文章:PHP升级导致系统负载过高问题分析。看完后,其中有些文字触发了我这个想法,也想验证一下。方案,用tcpdump抓包,用strace获取系统调用tcpdump port 8080 and port 9000 -s 0 -w te...
分类:
Web程序 时间:
2014-12-10 15:58:58
阅读次数:
234
strace命令详解strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。 strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。 下面记录几个常用 option . 1 -f -F选项告诉strace...
分类:
其他好文 时间:
2014-12-08 12:17:06
阅读次数:
246
本文首先使用了接口pthread_create创建一个线程,并用strace命令追踪了接口pthread_create创建线程的步骤以及涉及到的系统调用,然后讨论了Linux中线程与进程关系,最后概述了为了实现POSIX线程,Linux内核所做的修改。
使用pthread_create创建线程
在Linux下可以使用pthread_create来创建线程,该接口声明如下:
#...
分类:
编程语言 时间:
2014-11-24 21:00:30
阅读次数:
277
前天昨天发生的事。阿里云升级MYSQL,申请只读库之后,IP发生了改变,PHP中关于数据库的连接都需要修改。我们是以实例名作为统一连接字符的。但在其中一台后端机器上,死活不生效。就是如何是用IP连接,速度很快,但如何用实例名,则会出现五秒左右假死。STRACE追踪了进程,也改正了/ETC/RESOL...
分类:
Web程序 时间:
2014-11-22 09:15:48
阅读次数:
217
strace linux 下程序的系统调用和信号调用跟踪工具strace 简介strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. strace 从内核接收信息, 而且无需以任何特别的方式来构建内核. strace 的...
分类:
其他好文 时间:
2014-11-18 13:10:51
阅读次数:
136
可以发现很多真正在系统层面发生的调用,以及很细微的返回错误信息,用于调试工作。(比如,软件出错,或是性能变慢。。。)strace -p 32000 -o strace.txt基本上完整的用法是这样:strace -o /tmp/output2.txt -T -tt -e trace=desc -s ...
分类:
其他好文 时间:
2014-11-17 10:25:54
阅读次数:
262
最近的项目出现了一个bug。项目是基于一个已有的成熟开源软件之上做修改的,新写了加解密库,用于为该成熟开源软件增添加解密功能。功能增加完成后效果都很好,可是就是中文出不来了,也就是说没办法自适应多语言环境了(提示信息在中文操作系统下是中文,英文操作系统下是英文)。使用strace -o log [要...
分类:
编程语言 时间:
2014-11-13 16:02:17
阅读次数:
307
-c 统计每一系统调用的所执行的时间,次数和出错的次数等. -d 输出strace关于标准错误的调试信息. -f 跟踪由fork调用所产生的子进程. -ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号. -F 尝试跟踪vfork...
分类:
其他好文 时间:
2014-11-12 19:41:16
阅读次数:
181
简介进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本文通过三个实际案例演示如何使用truss、strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症"。truss和strace用来跟踪一个进程的系统调用或信号产生的...
分类:
其他好文 时间:
2014-10-29 23:59:31
阅读次数:
409
今天在做测试的时候突然间很卡,用top观察了下php占用CPU达到了70%多,具体操作以下几步:1.strace -o output.txt -T -tt -e -c trace=all -p pid结果: 查了下。。一直在执行read,write操作sql语句2.ll /proc/25066/fd...
分类:
Web程序 时间:
2014-10-28 19:46:00
阅读次数:
293