当前位置: 首页 > 网络应用技术

轻松 - 使用Linux诊断工具0x.Tools

时间:2023-03-08 12:33:13 网络应用技术

  原始:浸入日记(微信公共帐户ID:CODELOGS),欢迎分享,请保留来源。

  Linux上有很多问题的诊断工具,例如Perf,BCC等,但是这些诊断工具虽然功能强大,但需要高度使用。

  0x.tools工具提供了一个好主意。该问题是通过采样目录诊断出的,该目录几乎对测量程序没有性能影响,只要它具有与目标过程相同的权限水平,就可以正常使用。

  不要低估这一权威。在Internet工厂中,发展学生通常只能获得容器限制的外壳环境。获得机器的根本权限几乎是不可能的。

  实际上,0x中的大多数工具是脚本。例如,PSN工具是一个Python脚本,因此可以直接删除代码克隆然后执行它。

  该工具用于观察当前活动线程在系统中所做的工作,例如系统调用,编写哪些文件以及哪个内核函数?

  如上所述,默认情况下,对PSN采样目录中的每个线程的文件进行了5秒,并记录R(运行)或D(非中断休眠)状态的线程数据并汇总。

  由于R和D状态中的线程是活动线程,因此采样越多,其显示这些线程的运行越慢或频率越高。

  通过指定需要查看的列,Syscall表示正在执行线程的系统调用。FILENAMESUM表示文件正在读写。一般而言,当D状态运行时,该线程是在D状态下完成的。如果d状态线程经常出现,那么我们绝对必须知道哪个文件是线程读取和写入。

  以同样的方式,通过WCHAN字段,您可以查看线程阻塞的内核方法,并且KSTACK字段可以在螺纹阻塞时查看内核调用堆栈。

  实际上,PSN和PS命令用于通过traversing/pr直接目录获取线程信息,如下所示:

  状态:从文件中获取。

  syscall:从文件中取出。

  WCHAN:从文件中取出。

  kstack:从文件中取出。

  诸如perf和bcc之类的工具之间的区别在于,读取这些文件仅需要与该过程相同的权限级别,并且不需要使用根帐户。

  除PSN外,0x.tools中还有其他一些工具,例如Xcapture,Schedlat等,此处没有一个一个一个一个一个。如果您有兴趣,可以访问https://0x.tools/查看。

  此外,由于PSN是通过目录实现的,因此我们还可以自己编写相同的功能,如下所示:

  这样,我们可以在不安装0x.tools的情况下获得类似于PSN命令的功能!

  Linux命令拾取引入

  Linux命令拾取文本处理文章

  Linux命令拾取软件资源观察

  MySQL的时间是否存在于时区?

  真正的理解可以重复交易隔离水平

  字符编码

  原始:https://juejin.cn/post/709489679845451790