使用nginx很卡之strace命令
一、strace命令常用参数
strace -tt -T -v -f -e trace=file -o /data/log/strace.log -s -p
-tt 在每行输出的前面,显示毫秒级别的时间
-T 显示每次系统调用所花费的时间
-v 对于某些相关调用,把完整的环境变量,文件stat结构等打出来。
-f 跟踪目标进程,以及目标进程创建的所有子进程
-e 控制要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称
-o 把strace的输出单独写到指定的文件
-s 当系统调用的某个参数是字符串时,最多输出指定长度的内容,默认是32个字节
-p 指定要跟踪的进程pid, 要同时跟踪多个pid, 重复多次-p选项即可。
二、执行nginx -t 或者nginx -s reload特别慢
# strace -o nginx_run_time.txt -t nginx -t # 发现问题22秒到27秒之间,Timeout了5秒,此时间段内DNS解析出现了问题,上面为联通的DNS地址。
:: socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) =
:: connect(, {sa_family=AF_INET, sin_port=htons(), sin_addr=inet_addr("202.106.0.20")}, ) =
:: poll([{fd=, events=POLLOUT}], , ) = ([{fd=, revents=POLLOUT}])
:: sendto(, "\305\367\1\0\0\1\0\0\0\0\0\0\7payment\10linz\3co"..., , MSG_NOSIGNAL, NULL, ) =
:: poll([{fd=, events=POLLIN|POLLOUT}], , ) = ([{fd=, revents=POLLOUT}])
:: sendto(, "\263\312\1\0\0\1\0\0\0\0\0\0\7payment\10linz\3co"..., , MSG_NOSIGNAL, NULL, ) =
:: poll([{fd=, events=POLLIN}], , ) = (Timeout)
:: socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) =
:: connect(, {sa_family=AF_INET, sin_port=htons(), sin_addr=inet_addr("114.114.114.114")}, ) =
:: poll([{fd=, events=POLLOUT}], , ) = ([{fd=, revents=POLLOUT}])
:: sendto(, "\305\367\1\0\0\1\0\0\0\0\0\0\7payment\10linz\3co"..., , MSG_NOSIGNAL, NULL, ) =
:: poll([{fd=, events=POLLIN|POLLOUT}], , ) = ([{fd=, revents=POLLOUT}])
:: sendto(, "\263\312\1\0\0\1\0\0\0\0\0\0\7payment\10linz\3co"..., , MSG_NOSIGNAL, NULL, ) =
:: poll([{fd=, events=POLLIN}], , ) = ([{fd=, revents=POLLIN}]) # 解决方法,注释掉202.106.0.20的nameserver或者修改本地的/etc/hosts把解析时间长的域名添加进去。
# cat /etc/resolv.conf
nameserver 202.106.0.20
nameserver 114.114.114.114
使用nginx很卡之strace命令的更多相关文章
- strace命令跟踪进程
在实际系统维护过程中,常常需要知道一个进程在做哪些动作,比如想判断一个进程是否hang,我们可以使用strace命令,此命令式用来跟踪一个进程在调用哪些系统函数和信号 通过跟踪xinetd进程演示st ...
- [转帖]强大的strace命令用法详解
强大的strace命令用法详解 文章转自: https://www.linuxidc.com/Linux/2018-01/150654.htm strace是什么? 按照strace官网的描述, st ...
- strace命令(收集整理,常看常新)
starce的用途和参数:http://man.linuxde.net/strace(linux命令大全) strace命令是一个集诊断.调试.统计与一体 的工具,我们可以使用strace对应用的系统 ...
- linux的strace命令用法
strace命令用法 调用:strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] …[ -ofile ] [ -ppid ] … [ -sstrsize ...
- SD卡初始化以及命令详解
SD卡是嵌入式设备中很常用的一种存储设备,体积小,容量大,通讯简单,电路简单所以受到很多设备厂商的欢迎,主要用来记录设备运行过程中的各种信息,以及程序的各种配置信息,很是方便,有这样几点是需要知道的 ...
- strace命令详解
转自: http://www.cnblogs.com/ahuo/p/4150623.html 备注: 这篇博文学到的不仅仅是 strace 这个命令,还有前辈的排错思路,致敬! strace 命令是一 ...
- strace命令【转】
strace命令使用: strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用 ...
- inux跟踪线程的方法:LWP和strace命令
摘要:在使用多线程程序时,有时会遇到程序功能异常的情况,而这种异常情况并不是每次都发生,很难模拟出来.这时就需要运用在程序运行时跟踪线程的手段,而linux系统的LWP和strace命令正是这种技术手 ...
- 解决win7和2008连接windows 2003远程桌面很卡的问题
解决win7和2008连接windows 2003远程桌面很卡的问题 来源:http://www.hack1990.com/ 作者:佚名 时间:2013-04-12 TAG: 我要投稿 原因在于从vi ...
随机推荐
- 【Python】opencv显示图像
import cv2 img = cv2.imread("lena.jpg") cv2.namedWindow("Image") cv2.imshow(&quo ...
- tcp的半连接与完全连接队列
队列及参数 https://segmentfault.com/a/1190000008224853 server端的半连接队列(syn队列) 在三次握手协议中,服务器维护一个半连接队列,该队列为每个客 ...
- 【转】MaBatis学习---源码分析MyBatis缓存原理
[原文]https://www.toutiao.com/i6594029178964673027/ 源码分析MyBatis缓存原理 1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 ...
- plupload 大文件分片上传与PHP分片合并探索
最近老大分给我了做一个电影cms系统,其中涉及到一个功能,使用七牛云的文件上传功能.七牛javascript skd,使用起来很方便,屏蔽了许多的技术细节.如果只满足与调用sdk,那么可能工作中也就没 ...
- aspnet_regiis.exe -i 报 “此操作系统版本不支持此选项”
解决方法: 控制面板 - 程序和功能 - 启动或关闭windows功能 - Internet Information services - 万维网服务 - 应用程序开发功能 勾选: 1.ASP.NET ...
- [LOJ 2720][BZOJ 5417][UOJ 395][NOI 2018]你的名字
[LOJ 2720][BZOJ 5417][UOJ 395][NOI 2018]你的名字 题意 给定一个大串 \(S\) 以及 \(q\) 次询问, 每次询问给定一个串 \(T\) 和区间 \([l, ...
- def chi(*food,**kw):
def chi(*food,**kw): print(food,kw)chi("cong","蒜",'姜','可乐',"J=Juice",a ...
- 写博的第一天 0x00
作为一个大学生,我觉得自己除了睡觉,打游戏,吃饭更应该做点有意义的事情,作为计算机专业的学生,更应该勤奋点,主动去学习.已经要大三了,我认识到这个暑假我必须学点什么了,为了更好的学习,我决定学语言的同 ...
- 阿里八八Alpha阶段Scrum(9/12)
今日进度 叶文滔: 成功完成多级悬浮按钮,并添加与日程输入界面的连接.debug了一些对接产生的问题 黄梅玲: 合并单日项目至多日.获取json数据 王国超: 完成了初步的多日界面,pull至项目.进 ...
- AlloyDesigner 使用
前端开发视觉是很重要的一部分,所以视觉的还原度很重要,今天给大家介绍一个很好用的视觉精度调整插件 一.下载AlloyDesigner插件 下载插件 二.保存视觉稿为图片格式 1.psd 用ps直接保存 ...