jjzjj

strace工具简介

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。示例:#stracecat/dev/nullexecve("/bin/cat",["cat","/dev/null"],[/*22vars*/])=0brk(0)=0xab1000access("/etc/ld.so.nohwcap",F_OK)=-1ENOENT(Nosuchfileor

strace工具简介

简介strace常用来跟踪进程执行时的系统调用和所接收的信号。在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。示例:#stracecat/dev/nullexecve("/bin/cat",["cat","/dev/null"],[/*22vars*/])=0brk(0)=0xab1000access("/etc/ld.so.nohwcap",F_OK)=-1ENOENT(Nosuchfileor

hadoop - strace'ing sqoop 命令时资源暂时不可用 futex

我有一个sqoop命令,它使用hcatalog参数将数据从Oracle导入到hiveorc表中。sqoopimport-Doraoop.disabled=true-Dmapred.child.java.opts="\-Djava.security.egd=file:/dev/../dev/urandom"--connect'jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbs-dev-v.com)(PORT=1533))(CONNECT_DATA=(SERVICE_NAME=SDADCOM)(Server=Ded

python - 如何使用 python、bash 和 strace 检测 SIGHUP 发件人

由于神秘的原因,构建我们的Hadoop集群的机器似乎经历了SIGHUP的波浪。.所有盒子都运行centos6.7/8和Cloudera(CM+CDH)5.9。当这样SIGHUPwave发生在一台机器上,我看到进程卡住了(一些来自Hadoop,一些是操作系统原生的,如ntpd),以及SIGHUP的痕迹被记录在几个文件中。/var/log/messages中的一个例子看起来像Jan3010:19:43hadoop21rsyslogd:[originsoftware="rsyslogd"swVersion="5.8.10"x-pid="2451"x-info="http://www.rsys

php - Magento 可配置产品运行缓慢,strace 显示对/usr/share/zoneinfo 的数千次统计调用

在创建一个包含大约120个相关产品的可配置产品后,产品页面的加载速度非常慢,Apache2工作进程的CPU使用率飙升至100%。在回滚代码几次以确保这不是我们的开发团队推出的新内容后,我决定仔细查看strace并且有点震惊地发现输出文件中有数千block包含以下(查询字符串发生变化,但stat始终相同)12:50:28.374278write(23,"\202\0\0\0\3SELECT`main_table`.*FROM"...,134)=13412:50:28.374316read(23,"\1\0\0\1\23>\0\0\2\3def\7magento\nmain_table".

java - strace'ing java 进程时有很多 SIGSEGV

当我在CI服务器(实际上是maven构建)上调试其中一个单元测试时,发生了一些有趣的事情。我使用strace-ff-etrace=network-p[pid]连接到java进程以跟踪构建过程的网络Activity。这就是我所看到的:Process26324attachedProcess26325attached(waitingforparent)Process26325resumed(parent26312ready)Process26325detachedProcess26324detachedProcess26320detachedProcess26317detachedProce

c - 如何从 strace 输出中解码此信息

我写了一个小的go脚本并使用strace跟踪它通过这个脚本,我正在尝试使用netlink协议(protocol)从内核中获取审计消息,就像auditd一样。以下是我的go脚本的strace输出-http://paste.ubuntu.com/8272760/我试图找到auditd提供给sendto函数的参数。当我在auditd上运行strace时,我得到以下输出sendto(3,"\20\0\0\0\350\3\5\0\1\0\0\0\0\0\0\0",16,0,{sa_family=AF_NETLINK,pid=0,groups=00000000},12)=16当我跟踪我的go文件时

php - 长时间运行的 PHP 进程陷入循环 - 包括 strace 输出

我有一个长时间运行的PHP进程,有时会卡在一个循环中。这是strace输出,但我不知道它是什么意思:nanosleep({1,0},{1,0})=0rt_sigprocmask(SIG_BLOCK,[CHLD],[],8)=0rt_sigaction(SIGCHLD,NULL,{SIG_DFL,[],0},8)=0rt_sigprocmask(SIG_SETMASK,[],NULL,8)=0nanosleep({1,0},{1,0})=0rt_sigprocmask(SIG_BLOCK,[CHLD],[],8)=0rt_sigaction(SIGCHLD,NULL,{SIG_DFL,[

linux - 了解空 C 程序的 strace 输出

intmain(intargc,char*argv[]){return0;}鉴于上面的C程序,我使用clangtest.c得到以下输出;跟踪./a.out.execve("./a.out",["./a.out"],[/*36vars*/])=0brk(0)=0x1a06000access("/etc/ld.so.nohwcap",F_OK)=-1ENOENT(Nosuchfileordirectory)mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0)=0x7f785c40f000access("/et

linux - Shell 脚本挂起,但仅在调用变量或 strace 时

一般问题:如果调用它的脚本或shell(bash)命令将它调用到一个变量中,什么会导致本身运行良好的脚本挂起?换句话说,怎么会有这样调用的脚本.../path/to/scriptargarg...当这样调用时失败并挂起...VAR=$(/path/to/scriptargarg);?(在注意到软件故障导致大量初始测试给出错误结果后的主要编辑)我的具体案例:我有一个运行良好的脚本(启动、停止或重新启动Java应用程序ApacheSolr,adaptedfromhere)。代码如下,它的命令是sbin/servicesolr[action],例如sbin/servicesolrstart.