存档

文章标签 ‘程序分析’

linux程序分析工具介绍(三)——sar

2011年7月10日 2 条评论

本文要介绍的sar,是linux下用来分析系统本身运行情况的非常有用的工具。我们知道,程序在操作系统上要运行,要关注的点不外乎内存,CPU和IO(包括磁盘IO和网络IO)。我们的应用程序在操作系统中运行前,我们需要了解系统当前的内存,cpu和IO的使用状况,还需要明白我们的应用程序运行时自身所需要的内存,cpu和IO资源的情况。只有操作系统剩余的内存,cpu和IO资源能够满足应用程序所需要的,才能保证应用程序在操作系统中正常的运行。sar就是用来帮助我们了解操作系统当前内存,cpu和IO等资源的使用情况的一个非常方便的工具,下面通过具体的例子来介绍sar的使用。
在介绍例子之前,首先需要说一下sar命令的基本用法:sar [option] [interval] [count]

  • 1. 通过sar获取系统内存使用相关信息
  • (1)内存使用情况统计:-r,通过这个选项,我们可以了解当前系统中内存的使用情况 阅读全文…

    linux程序分析工具介绍(二)—-ldd,nm

    2011年3月19日 2 条评论

    本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具。ldd是用来分析程序运行时需要依赖的动态库的工具;nm是用来查看指定程序中的符号表相关内容的工具。下面通过例子,分别来介绍一下这两个工具:

    1. ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库:

    wuzesheng@wuzesheng-ubuntu:~/Public$ ldd cs
    	linux-gate.so.1 =>  (0xffffe000)
    	libz.so.1 => /lib/libz.so.1 (0xb7f8c000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0xb7f75000)
    	libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7e4d000)
    	libpcre.so.0 => /usr/lib/libpcre.so.0 (0xb7e21000)
    	libstdc++.so.6 => /usr/local/gcc4.5.1/lib/libstdc++.so.6 (0xb7d40000)
    	libm.so.6 => /lib/libm.so.6 (0xb7d18000)
    	libgcc_s.so.1 => /usr/local/gcc4.5.1/lib/libgcc_s.so.1 (0xb7cfd000)
    	libc.so.6 => /lib/libc.so.6 (0xb7bbc000)
    	/lib/ld-linux.so.2 (0xb7fab000)
    	libdl.so.2 => /lib/libdl.so.2 (0xb7bb7000)

    阅读全文…

    linux程序分析工具介绍(一)—-“/proc”

    2011年1月4日 7 条评论

    写在最前面:在开始本文之前,笔者认为先有必要介绍一下linux下的man,如果读者手头用linux系统,直接在终端输入man man便可以看到详细的说明,我在这里简单的总结一下,man命令是用来查看linux下各种命令、工具等的用户手册(manual)的。一种比较常用的用法是”man n field”,这里的n是要查找的手册了类型,field是关键字。在这里介绍一下n:

  • 0 /usr/include下的头文件
  • 1 可执行程序和shell命令
  • 2 系统调用
  • 3 系统库函数
  • 4 /dev下的特殊文件
  • 5 文件格式和约定(比如/etc/passwd)
  • 阅读全文…

    分类: 技术杂记 标签: , , , , ,