
linux系统的工具以及使用
cybertan
做事诚恳塌实,刻苦钻研!
开放,共享,合作!
展开
-
perf使用2
之前介绍了 perf 最常见的一些用法,关注于 Linux 系统上应用程序的调优。现在让我们把目光转移到内核以及其他 perf 命令上面来。在内核方面,人们的兴趣五花八门,有些内核开发人员热衷于寻找整个内核中的热点代码;另一些则只关注某一个主题,比如 slab 分配器,对于其余部分则不感兴趣。对这些人而言,perf 的一些奇怪用法更受欢迎。当然,诸如 perf top,perf stat, p转载 2012-11-02 00:18:26 · 2854 阅读 · 0 评论 -
/etc/shadow
The glibc2 version of this function supports additional encryption algorithms.If salt is a character string starting with the characters "$id$" followed bya string terminated by "$": $id$sal转载 2012-12-31 22:38:09 · 745 阅读 · 0 评论 -
如何提交内核补丁
内核源码下载内核代码的管理是采用的git来管理的,所以要下载内核最新的代码的话就得使用git工具来下载了。git工具的使用我在上一篇文章中已经写了个大概,所以具体可以参考其中的使用说明。一般测试可以下载部分或是全部的源代码,我们一般会下载Linus Torvalds的git树下的源码。URL如下:[html] view plaincopyhttp://git.k转载 2012-12-19 00:26:55 · 1905 阅读 · 0 评论 -
Linux 系统内核的调试
树雷 李 (lisl03@mails.tsinghua.edu.cn), 清华大学计算机系硕士研究生渝 陈 (yuchen@tsinghua.edu.cn), 清华大学2005 年 12 月 18 日本文将首先介绍 Linux 内核上的一些内核代码监视和错误跟踪技术,这些调试和跟踪方法因所要求的使用环境和使用方法而各有不同,然后重点介绍三种 Linux 内核的源代码级的调试方法。调转载 2012-12-19 00:23:01 · 702 阅读 · 0 评论 -
kgdb&qemu
本文内容参考了:http://www.kgdb.info/kgdb/use_kgdb/using_kgdb_base_qemu/相关内容: http://liang00fang00yy3.blog.163.com/blog/static/403352842010375300436/qemu的使用:http://wiki.qemu.org/download/qemu-doc.html内核转载 2012-12-19 08:27:18 · 1312 阅读 · 0 评论 -
ftrace 使用
ftrace 简介ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析。最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能。Ftrace 由 RedHat 的 Steve Rost转载 2012-12-19 12:26:05 · 1390 阅读 · 0 评论 -
如何进行gpg签名字
1:生成密钥对gpg --gen-key完成后,会在用户家目录下的.gnupg目录下生成文件2:查看gpg --list-keys --fingerprint。。。。。。pub 1024D/6C71BC69 2013-01-04 Key fingerprint = 2BEE 9934 6411 9234 52C7 315D 35C6 B887原创 2013-01-04 23:34:23 · 1511 阅读 · 0 评论 -
linux网络流量监控脚本
#!/bin/bash #要监测的网卡if [ -n "$1" ]; theneth_name=$1elseeth_name="eth0"fii=0send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`recv_o=`ifconfig $eth_n转载 2013-01-08 16:04:10 · 1286 阅读 · 0 评论 -
oprofile5
Oprofile简介 性能测试的神器。其结果最为准确,为什么呢?请看oprofile的测试原理。其原理是:现在的很多 CPU都提供一个所谓性能计数器的东西(performance counter),大致的原理就是程序可以注册告诉CPU对什么event感兴趣(比如CPU_CYCLE,CPU经历了一次时钟周期),然后CPU在执 行了相应的操作后,就会在性能计数器上加1,这样转载 2013-01-28 11:51:58 · 2735 阅读 · 0 评论 -
描述符
简单的说, max-file表示系统级别的能够打开的文件句柄的数量, 而ulimit -n控制进程级别能够打开的文件句柄的数量.man 5 proc, 找到file-max的解释:file-max中指定了系统范围内所有进程可打开的文件句柄的数量限制(系统级别, kernel-level). (The value in file-max denotes the maximum numbe转载 2013-01-28 10:51:37 · 1262 阅读 · 1 评论 -
设置pxe安装
环境 openSUSE-10.2-GM-DVD-i386.isoVMware® Workstation 7.0.0 build-2037391.安装软件包rpm包,可以去光盘里找linux-zura:~ # rpm -ivh dhcp-3.0.5-7.i586.rpm linux-zura:~ # rpm -ivh dhcp-server-3.0.5-7.i586.转载 2011-12-13 23:28:15 · 866 阅读 · 0 评论 -
如何使用rsync
一、rsync的概述rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remotesync。rsync是Linux系统下的文件同步和数据传输工具,它采用“rsync”算法,可以将一个客户机和远程文件服务器之间的文件同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。rsync可以转载 2012-12-28 10:56:48 · 890 阅读 · 0 评论 -
lvm使用
RHEL6中针对LVM的一些新特性:支持逻辑卷的镜像操作、Device Mapper对udev的完整支持、当一个磁盘发生故障时可以使用lvconert –repair进行修复、支持对镜像卷创建快照(rhel6.1的新特性)等。详情请参考官方文档。一、Volume Group的高级管理:1、Combining Volume Groups:一块100G大小的磁盘sdb,分了俩个分区:sdb转载 2012-12-14 03:10:07 · 15796 阅读 · 0 评论 -
perf使用1
Perf 简介Perf 是用来进行软件性能分析的工具。通过它,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。它不但可以分析指定应用程序的性能问题 (per thread),也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。最初的时候,它叫做 Performance counter,在 2.6.31 中转载 2012-11-02 00:12:00 · 3617 阅读 · 0 评论 -
创建自己的rpm-md源
1. Go to the repository folder2. Generate the key (Inputs are shown in the red squares of the picture below)gpg -q –gen-key3. Try to open the a browser if it stops at (The blue square of t原创 2012-10-24 03:09:31 · 1795 阅读 · 0 评论 -
socat使用
socat是一個netcat(nc)的替代產品,可以稱得上nc++。socat的特點就是在兩個流之間建立一個雙向的 通道。socat的地址類型很 多,有ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,等等。看一個例子:c:\>socat - tcp:192.168.1.18:80這個命令等同於 nc 192.168.1.18转载 2012-10-26 11:50:02 · 16482 阅读 · 0 评论 -
虚拟机优化1
通常情况下,在SMP系统中,Linux内核的进程调度器根据自有的调度策略将系统中的一个进程调度到某个CPU上执行。一个进程在前一个执行时间是在cpuM(M为系统中的某CPU的ID)上运行,而在后一个执行时间是在cpuN(N为系统中另一CPU的ID)上运行。这样的情况在Linux中是很可能发生的,因为Linux对进程执行的调度采用时间片法则(即进行用完自己的时间片即被暂停执行),而默认情况下,一个普转载 2012-11-07 22:41:28 · 2318 阅读 · 0 评论 -
tunning the task scheduler
Chapter 14. Tuning the Task Scheduler¶Contents14.1. Introduction14.2. Process Classification14.3. O(1) Scheduler14.4. Completely Fair Scheduler14.5. For More InformationModern转载 2012-11-08 13:37:30 · 1927 阅读 · 0 评论 -
ftrace的使用
This article explains how to set up ftrace and be able to understand how to trace functions. It should be useful for current kernel developers and device driver developers who want to debug kernel iss转载 2012-12-05 09:00:40 · 15053 阅读 · 0 评论 -
如何修改文件名字和文件中个内容
1:sed -i 's/5.1p1/7.1p1test/g' $(grep -lR "5.1p1" ./)2:# rename.perl 's/5.1p1/7.1p1test/g' * #!/usr/bin/perl -w# rename - Larry's filename fixer#用法: Perl表达式 [要处理的文件名]$op原创 2012-12-24 10:24:43 · 1399 阅读 · 0 评论 -
LD_PRELOAD的使用--调试代码
前些天为了排查我们程序中不知道是库里面还是我们自己调用了assert断言,导致我们程序死亡。想通过hook拦截到调用这个函数的调用者,偶然间想起proload(预加载),小试牛刀使用如下代码#include #include #include #include void abort(void){ printf("****************my abort,转载 2012-12-12 20:57:01 · 3699 阅读 · 0 评论 -
Multipath多路径冗余全解
一、什么是multipath普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,由于主机和存储通过了光纤交换机连接,这样的话,就构成了多对多的关系。也就是说,主机到存储可以有多条路径可以选择。主机到存储之间的IO由多条路径可以选择。既然,每个主机到所对应的存储可以经过几条不同的路径,如果是同时使用的话,I/O流量如何分配?其中一条路径坏掉了,如何处转载 2012-12-14 03:05:36 · 47344 阅读 · 1 评论 -
linux双网卡配置
配置双网卡网络接口eth0和eth1,并在服务器上配置NAT(网络地址转换),在公网ip和内部网私有ip地址间配置静态NAT重定向数据包,使服务器成为透明网关从而使得内部网计算机可以无障碍访问外部互联网。关键词:Redhat Linux;DNS(域名解析服务器);NAT(网络地址转换);iptables规则步骤:Step1配置两块网卡的接口地址设置第一块网卡eth0的IP地址和子网转载 2013-01-12 01:38:21 · 22958 阅读 · 0 评论 -
一些安全扫描工具
术语表术语定义敏感数据敏感数据的具体范围取决于产品具体的应用场景,产品应根据风险进行分析和判断。典型的敏感数据包括口令、银行帐号、大批量个人数据、用户通信内容和密钥等。一类如果丢失或者泄漏,会对数据的所有者造成负面影响的数据。本基线定义的“敏感数据”包括但不限于:口令、通行码、密钥、证书、License、隐私数据(如短消息转载 2013-02-05 08:59:29 · 13965 阅读 · 0 评论 -
CPU拓扑结构的调查
CPU拓扑结构的调查在做多核程序的时候(比如Erlang程序),我们需要了解cpu的拓扑结构, 了解logic CPU和物理的CPU的映射关系,以及了解CPU的内部的硬件参数,比如说L1,L2 cache的大小等信息。Linux下的/proc/cpuinfo提供了相应的信息,但是比较不全面。 /sys/devices/system/cpu/也提供了topology结构但是比较难解读转载 2013-03-07 07:56:54 · 1282 阅读 · 0 评论 -
exit和_exit函数,atexit函数 abort函数
#include exit和_exit函数用于正常终止一个程序: _exit立即进入内核,exit则先执行一些清除处理(包括调用执行各终止处理程序,关闭所有标准I / O流等),然后进入内核。使用不同头文件的原因是:exit是由ANSI C说明的,而_exit则是由POSIX.1说明的。 由于历史原因,exit函数总是执行一个标准I/O库的清除关闭操作:对于所有打开流调用 f转载 2013-06-18 12:50:54 · 920 阅读 · 0 评论 -
各种奇特的事情:内存错误,无常的段错误,堆栈消失
1. 在修改较多文件,make和执行,发现总是提示SegmentFault,调试也找不到原因(gdb调试时,往往进入某个普通的函数就SegmentFault)解决方法:全部重新编译可能会解决问题,原因不明。make clean; make。环境:g++/gcc (GCC) 4.4.4 20100726 (Red Hat 4.4.4-13) centos62. 程序突然就退出了,转载 2013-07-18 07:57:09 · 1950 阅读 · 1 评论 -
how to add lun
In our daily work many SAs would come across such problem,one Linux server is for critical task,and there's not enough disk space,and you're asked to add more disk space,also new LUN to the very serve转载 2013-08-29 11:23:57 · 1289 阅读 · 0 评论 -
制作rpm包
常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这里我们是以其软件包的格式来划分的,这两类系统分别提供了自己的软件包管理系统和相应的工具。类RedHat系统中软件包的后缀是rpm;类Debian系统中软件包的后缀是deb。另一方面,类RedHat系统提供了同名的rpm命令来安装、卸载、升级rpm软件包;类Debian系统同样提供了dpkg命令来对后缀是deb的软件转载 2013-10-16 19:45:22 · 7968 阅读 · 0 评论 -
valgrind 使用
系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。所以,在实践中会用到很多工具来调试内存问题。在本文中,我们将讨论最流行的开源内存管理框架 VALGRIND。摘自 Valgrind.org:Valgrind是用于构建动态分析工具的探测框架。它包括一个工具集转载 2013-10-16 22:22:53 · 1221 阅读 · 0 评论 -
How do I manually Update the Anaconda stage 1 image?
http://kbase.redhat.com/faq/docs/DOC-7273Thanks to David Cantrell for writing this up.WHAT IS THE STAGE 1 IMAGE?The stage 1 image in anaconda confuses a lot of people. We've done a good job maki转载 2014-06-29 21:05:56 · 1106 阅读 · 0 评论 -
制作iso
一. 制作环境的准备1.安装制作发行版的工具:[shell]# yum -y install anaconda repodata createrepomkisofs[shell]# yum -y install anaconda-runtime createrepo yum-utils anacondaanaconda-help busybox-anacondamkisof转载 2014-06-16 22:24:28 · 3075 阅读 · 1 评论 -
ocaml
安装Linux环境下[html] view plaincopy# apt-get install ocaml # apt-get install ledit # apt-get install tuareg-mode Windows环境下自行下载OCamlWinPlus学习资源《Practical OCaml》, Jos转载 2014-08-03 20:32:13 · 1900 阅读 · 3 评论 -
ocaml 2
转换整数到浮点:float_of_int n转换浮点到整数:int_of_float n函数的定义在Ocaml中,同其它强类型语言一样,函数取得一个预定义类型的参数并返回一个给定类型的值。函数的参数间简单的使用空格分开。假如我们想定义下面的这些函数,它们的数学形式为:double : x -> 2Xsquare : x -> x*x cube : x -> x^转载 2014-08-03 21:33:35 · 1148 阅读 · 4 评论 -
vmware虚拟机迁移到kvm
前言随着虚拟化技术的不断发展,虚拟机的应用也越来越广泛。日常应用中可能出现资源不足,系统管理调整或者系统备份等原因,希望将某一虚拟机从原来物理主机迁移到另一个物理主机上,即 V2V(Virtual-to-Virtual)迁移。虚拟机的迁移需要物理主机上 VMM(Virtual Machine Monitor)的支持。相同类型 VMM 之间,使用相同的 API 接口,通常具有强大的迁移能力。例如转载 2013-06-08 14:27:35 · 3559 阅读 · 0 评论 -
valgrind
一 valgrind是什么?Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:转载 2013-06-07 11:43:54 · 808 阅读 · 0 评论 -
hugepages
Performance tuning: HugePages in LinuxNov 10, 2008 / By Riyaj ShamsudeenTags: DBA Lounge, OracleRecently we quickly and efficiently resolved a major performance issue with one of our New Y转载 2013-06-06 08:00:16 · 963 阅读 · 0 评论 -
Linux常用性能调优工具索引
本文链接地址: Linux常用性能调优工具索引前段时间看到brendangregg的 Linux Performance Analysis and Tools PPT里面提到Linux常用性能调优工具, 见下图:其中提到了的工具,大部分在我日常工具箱里或者在实践的案例里面使用过, 都有很高的价值,这里方便大家索引下:nicstat: 参见 这里oprofile: 参见 这里转载 2013-04-22 13:34:42 · 1034 阅读 · 0 评论 -
打进程的栈脚本
Linux下有时候我们需要知道一个进程在做什么,比如说程序不正常的时候,他到底在干吗?最直接的方法就是打印出他所有线程的调用栈,这样我们从栈再配合程序代码就知道程序在干吗了。Linux下这个工具叫做pstack. 使用方法是# pstackUsage: pstack id>当然这个被调查的程序需要有符号转载 2013-04-22 22:40:01 · 900 阅读 · 0 评论 -
iscsi的使用
iSCSI Target 编译安装过程1. 解压:tar zxvf iscsitarget-1.4.18.tar.gz2. cd iscsitarget-1.4.183. Linux2.6.32的内核太新了最新的iSCSI Target版本1.4.18还没有支持,网上有高手做了相应的补丁,于是打上补丁 patch -p1 4. 编译:make KSRC=/usr/转载 2013-05-20 11:06:09 · 4674 阅读 · 0 评论