- 浏览: 140764 次
- 性别:
- 来自: 成都
文章分类
最新评论
【基本介绍】
有时候发现有个别进程占用了大量CPU或者内存,我们可以查看进程的调用情况。
【strace解释】
【例子】
strace -p processId
【参考】
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html
有时候发现有个别进程占用了大量CPU或者内存,我们可以查看进程的调用情况。
【strace解释】
[root@sparkVM salt]# strace -h usage: strace [-dDffhiqrtttTvVxx] [-a column] [-e expr] ... [-o file] [-p pid] ... [-s strsize] [-u username] [-E var=val] ... [command [arg ...]] or: strace -c [-D] [-e expr] ... [-O overhead] [-S sortby] [-E var=val] ... [command [arg ...]] -c -- count time, calls, and errors for each syscall and report summary -f -- follow forks, -ff -- with output into separate files -F -- attempt to follow vforks, -h -- print help message -i -- print instruction pointer at time of syscall -q -- suppress messages about attaching, detaching, etc. -r -- print relative timestamp, -t -- absolute timestamp, -tt -- with usecs -T -- print time spent in each syscall, -V -- print version -v -- verbose mode: print unabbreviated argv, stat, termio[s], etc. args -x -- print non-ascii strings in hex, -xx -- print all strings in hex -a column -- alignment COLUMN for printing syscall results (default 40) -e expr -- a qualifying expression: option=[!]all or option=[!]val1[,val2]... options: trace, abbrev, verbose, raw, signal, read, or write -o file -- send trace output to FILE instead of stderr -O overhead -- set overhead for tracing syscalls to OVERHEAD usecs -p pid -- trace process with process id PID, may be repeated -D -- run tracer process as a detached grandchild, not as parent -s strsize -- limit length of print strings to STRSIZE chars (default 32) -S sortby -- sort syscall counts by: time, calls, name, nothing (default time) -u username -- run command as username handling setuid and/or setgid -E var=val -- put var=val in the environment for command -E var -- remove var from the environment for command
【例子】
strace -o whoami-strace.txt whoami open("/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/i686/mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686/mmx", 0xbffff190) = -1 ENOENT (No such file or directory) open("/lib/i686/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686", 0xbffff190) = -1 ENOENT (No such file or directory) open("/lib/mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/mmx", 0xbffff190) = -1 ENOENT (No such file or directory) open("/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib", {st_mode=S_IFDIR|0755, st_size=2352, ...}) = 0 open("/usr/lib/i686/mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i686/mmx", 0xbffff190) = -1 ENOENT (No such file or directory) open("/usr/lib/i686/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
strace -p processId
【参考】
http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html
发表评论
-
linux shell - 远端修改非root密码
2015-01-09 20:40 1000【基本介绍】 通过远端修改普通用户密码,而passwd --s ... -
linux shell - broken pip error
2015-01-07 15:36 2753【基本介绍】 这里我们介绍发生broken pipe错误的原因 ... -
linux locate - find files by name
2014-12-17 17:46 610【基本介绍】 这里我们介绍locate命令,用来查找文件。 ... -
linux ssh - GSSAPIAuthentication
2014-12-10 14:58 2118【基本介绍】 最近公司搬家,发现合作伙伴的服务器的用ftp工具 ... -
linux tar - 压缩解压
2014-12-01 16:04 1022【基本介绍】 今天遇到要添加文件到tar文件里面,所以在这里介 ... -
linux parameter substitution - 字符串/变量处理
2014-11-17 15:56 818【基本介绍】 这里我们介绍bash里面对字符串,变量等的替换等 ... -
linux netstat - status状态描述
2014-11-14 17:59 1160【基本介绍】 这里介绍netstat命令返回的结果status ... -
linux set - set variables and set positional parameters
2014-11-10 18:26 436【基本介绍】 set是shell的内置命令。可以用来设置修改变 ... -
linux nc - arbitrary TCP and UDP connections and listens
2014-10-31 17:46 809【基本介绍】 nc是可以打开任意端口的TCP/UDP连接和监听 ... -
linux 报错集 - Cannot retrieve metalink for repository: epel. Please verify its pat
2014-10-29 15:12 960【基本介绍】 运行yum报错Error: Cannot ret ... -
linux awk - awk tutorial
2014-10-21 10:47 509【基本介绍】 awk是一款强大的对文件内容进行处理的软件,可以 ... -
linux ps - processes
2014-10-20 14:17 1263【基本介绍】 ps - report a snapshot o ... -
linux lsof - list open files
2014-10-17 17:31 762【基本介绍】 lsof - list open files I ... -
linux - 网络连接状态
2014-10-13 11:00 1405【基本情况】 这里介绍 ... -
linux netstat - Print network connections, routing tables, interface statistics,
2014-10-13 10:37 1018【基本介绍】 netstat - Print network ... -
linux vmstat - Report virtual memory statistics
2014-10-10 17:39 735【基本介绍】 vmstat - Report virtual ... -
linux yum - yum warning: rpmts_HdrFromFdno
2014-10-09 15:08 607【基本介绍】 在yum安装软件的时候有时候会报warning: ... -
Linux ip subnet mask - 网段分析
2014-09-24 19:22 1372【基本介绍】 网段的分析可以帮助我们查看两个局域地址是否可以互 ... -
linux curl - curl 上传下载
2014-09-19 11:45 2125【基本介绍】 curl is a tool to tra ... -
linux mkpasswd - 密码生成器
2014-09-18 17:18 1417【基本介绍】 作为linux admin要经常创建用户,并初始 ...
相关推荐
在Linux操作系统中,strace是一个非常实用的系统调用跟踪工具,它能够帮助开发者和系统管理员深入了解程序与操作系统内核之间的交互。本文将围绕strace-4.5.15版本,详细探讨其功能、原理及实际应用,旨在为读者提供...
在Linux操作系统中,strace是一个非常实用的系统调用跟踪工具,它能够帮助开发者和系统管理员了解程序在运行过程中与操作系统的交互细节,包括系统调用的使用、参数传递以及返回值。本文将基于"strace-4.5.15.tar(1)...
1. **系统调用监控**:`strace`可以跟踪并显示进程执行的所有系统调用,包括参数和返回值,这对于找出程序中的I/O问题、权限问题非常有效。 2. **信号处理**:可以观察程序如何响应和处理来自内核的信号,有助于理解...
strace是Linux系统中一个非常重要的工具,它允许程序员和系统管理员监控和记录进程与系统调用间的交互,以及与信号处理相关的活动。strace-4.11源码的发布为开发者提供了深入了解Linux内核与用户空间交互的窗口,...
strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用。 Strace是一个简单的跟踪系统调用执行的工具。在其最简单的形式中,它可以从开始到结束跟踪二进制的执行,并在进程的生命周期中输出...
Strace 命令的工作原理是使用 ptrace 系统调用跟踪调试运行中的进程,详细原理不在本文讨论范围内,有兴趣可以参考 Strace 的源代码。 使用 Strace 命令可以快速诊断软件的“疑难杂症”,例如进程无法启动、软件...
strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。 strace常用来跟踪进程执行时的系统...
strace-4.11 源码。 strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等
strace 是 Linux 环境下的一款程序调试工具,用于监控一个应用程序所使用的系统调用以及它所接收到的系统信息。 系统管理员、诊断人员和故障排除人员会发现,它对于解决源代码不易获得的程序问题非常宝贵,因为它们...
它能够帮助我们跟踪和记录Linux系统调用,以及进程间的信号传递,从而揭示程序在操作系统级别上的行为。本文将深入探讨strace 5.15版本在arm和arm64架构下的应用,特别是在Android平台上的使用。 首先,strace 5.15...
strace - 跟踪系统调用 strace -p PID sar - 收集、报告系统活动信息 sar -u 1 3 systemctl - 管理systemd服务 systemctl status service_name dig - DNS查询工具 dig example.com scp - 安全复制文件 scp file....
Strace是一个在Linux环境下用于诊断、调试和跟踪系统调用和进程间通信的工具。它通过跟踪和记录指定进程对内核的调用和接收的信号,将系统调用的名字、参数、返回值打印出来,这对于解决和定位问题非常有帮助。 在...
truss、strace和ltrace是三个非常实用的系统级调试工具,它们能够帮助我们追踪进程的系统调用和库函数调用,从而找出问题所在。以下是关于这三个工具的详细说明: 1. **truss**: truss最初是为System V R4开发的...
1. `strace`: 一个用于跟踪进程系统调用的工具,帮助开发者理解程序行为和查找问题。 2. `perf`: 提供系统调用计数和性能分析,有助于性能优化。 3. 系统调用重定向:可以通过修改内核配置或使用`seccomp`机制限制或...
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统...
在Linux系统中,有多种工具可以进行系统调用跟踪,包括ftrace、systemtap、gdb和strace等。每种工具都有其特点和优缺,ftrace采用静态trace_point方法,systemtap利用kprobe和kretprobe对系统调用处理函数的调用和...
Linux中的strace是一款强大的命令行调试工具,它能够帮助开发者和系统管理员监控和诊断程序的系统调用以及接收到的信号。通过跟踪进程的系统调用和接收到的信号,strace能够以用户级的视角揭示程序运行时的操作和...
- strace是一个用于诊断和调试的工具,它可以用来追踪一个程序执行时的系统调用和接收到的信号。 - 通过strace工具,我们可以查看程序调用了哪些系统函数,以及相应的参数和返回值,这对于分析和调试程序中的系统...