Linux内核调试技术——kprobe使用与实现 Linux kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。利用kprobes技术,内核开发人员可以在内核的绝大多数指定函数中动态的插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程。kprobes技术目前提供了3种探测手段:kprobe、jprobe和kretprobe,其中jprobe和kretprobe是基于kprobe实现的
RHEL6.5更换本地YUM源 引言:由于RHEL的yum在线更新是收费的,如果没有注册的话是不能使用的,即不能在线安装软件。在这种情况下,想使用RHEL系统,还想用yum源来在线安装软件,有没有办法?答案是有办法,请往下看!1、删除RHEL原有的yum rpm -aq|grep yum|xargs rpm -e --nodeps #删除2、下载新的yum安装包 #这里我们使用CentOS的
ptrace 简介 引子:1.在Linux系统中,进程状态除了我们所熟知的TASK_RUNNING,TASK_INTERRUPTIBLE,TASK_STOPPED等,还有一个TASK_TRACED。这表明这个进程处于什么状态?2.strace可以方便的帮助我们记录进程所执行的系统调用,它是如何跟踪到进程执行的?3.gdb是我们调试程序的利器,可以设置断点,单步跟踪程序。它的实现原理又是什么?所有这
netstat 命令 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行netstat后,其输出结果为Active Internet connections (w/o servers)Proto Recv-Q Send-
strace命令 starce的用途和参数:http://man.linuxde.net/strace(linux命令大全)strace命令是一个集诊断、调试、统计与一体 的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。当然 strace与专业的调试工具比如说gdb之类的是没法相比的,因为它不是一个专业的调试器。来自: htt
top命令详解 查看多核CPU命令mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txttop命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的t
linux free 解读 free命令可以用来查看系统内存使用情况。我一般习惯-m参数以MB的方式查看[root@localhost ~]# free -m total used free shared buffers cachedMem: 1020288 947960 72328 312 8
通过Strace定位故障原因 通过Strace定位故障原因发表于2013-10-06俗话说:不怕贼偷,就怕贼惦记着。在面对故障的时候,我也有类似的感觉:不怕出故障,就怕你不知道故障的原因,故障却隔三差五的找上门来。十一长假还没结束,服务器却频现高负载,Nginx出现错误日志:connect() failed (110: Connection timed out) while connecting
手把手教你用Strace诊断问题 手把手教你用Strace诊断问题发表于2015-10-16早些年,如果你知道有个 strace 命令,就很牛了,而现在大家基本都知道 strace 了,如果你遇到性能问题求助别人,十有八九会建议你用 strace 挂上去看看,不过当你挂上去了,看着满屏翻滚的字符,却十有八九看不出个所以然。本文通过一个简单的案例,向你展示一下在用 strace 诊断问题时的一些套路。如下真实
Linux下so动态库查看与运行时搜索路径的设置 ldd命令Linux 下可以使用ldd查看可执行文件所需要的动态链接库(*.so)。注:下文用so代替动态链接库文件。// 举个例子~$ ldd /bin/ls linux-vdso.so.1 => (0x00007ffe06386000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x0
linux gcc头文件搜索路径 C++编译时,教科书中写道:#include “headfile.h”优先在当前目录查找头文件;#include 从系统默认路径查找头文件。先前以为系统默认路径是环境变量$PATH指定的路径,在系统上一查,傻了眼:-bash-3.2$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/u
使用ltp套件对Centos系统进行压力测试 ltp套件是由Linux Test Project所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。一、获取软件首先我们可以从http://optusnet.dl.sourceforge.net/sourceforge/ltp/ltp-full-20050608.tgz下载最新的20050608版本;下载后,放到/root目录下,解压并编译
LTP--linux稳定性测试 linux性能测试 ltp压力测试 说明:在写这篇文章之前,本人也不曾了解LTP是干嘛的,直到参加一次技术沙龙才了解到它是用来对linux系统进行稳定性测试的一个开源工具,演讲人是世纪佳缘运维部门的技术老总!平时我们这些做运维朋友们都很少涉及到系统的测试,因为觉得linux本生就很稳定,因此就没有必要去做测试,但是系统是更新的,同样linux的内核是也在更新的,那新系统是否就适合我们的业务,是否就比就系统稳定可靠呢!!我想大部分人凭直
常见Linux发行版 一 常见Linux版本websitefeaturedescriptionhttp://www.ubuntu.com/ 当前最流行Ubuntu 正是基于 Debian 之上,旨在创建一个可以为桌面和服务器提供一个最新且一贯的 Linux 系统。Ubu
七大顶级Linux桌面比较 1七大顶级Linux桌面:Unity 对于开源Linux平台来说,如何选择就是首要解决的问题。通常Linux发行版都有默认的桌面成为你的首选,但目前可供选择的桌面环境种类繁多。特别是Ubuntu系统一个平台就提供9种正式备选版本,且各自拥有不同的桌面配置选项。 对于Linux桌面环境来说,因为具备着各种独特的设计风格、功能配备以及自身特性。从具体硬件平台上,只有通过实际情况才可以判断一款
链接脚本文件 lds 一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?).-
Linux命令学习手册-objcopy命令 objcopy [选项]... 输入文件 [输出文件] [功能] 将目标文件的一部分或者全部内容拷贝到另外一个目标文件中,或者实现目标文件的格式转换。 [描述] objcopy工具使用BFD库读写目标文件,它可以将一个目标文件的内容拷贝到另外一个目标文件当中。objcopy通过它的选项来控制其不同的动作,它可以将目标文件拷贝成和原来的文件不一
在Ubuntu虚拟机中安装VMware tools异常中断 Unable to start services for VMware Tools 前言:我用的是VMware 10.0.3和Ubuntu 14.04.1 LTS,host是Windows 7系统。在VMware中装完Ubuntu后,为了与host之间互传文件,需要安装VMware tools。在安装过程中出现报错,试了好几次都没有成功,报错信息如下:#############################Cr
常用的CL6x编译选项 一、c6x 的编译的常用选项 (一)c6x 的编译程序为“cl6x.exe”使用的方法Cl6x [options] [filenames] Cl6x: 编译程序 Options: 编译选项 Filenames: C或汇编源文件 说明: 编译选项是一个字母或者两个字母, 对大小写不敏感。 编译选项的前面需要有一个 “-”