如何用十条命令在一分钟内检查Linux服务器性能

如果你的Linux服务器突然负载暴增,报警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断。
概述

通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。

  • uptime
  • dmesg | tail
  • vmstat 1
  • mpstat -P ALL 1
  • pidstat 1
  • iostat -xz 1
  • free -m
  • sar -n DEV 1
  • sar -n TCP,ETCP 1
  • top

其中一些命令需要安装sysstat包,有一些由procps包提供。这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,也就是所谓的USE方法。 Continue reading

Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程

在登录Linux时要执行文件的过程如下:
在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,

执行的顺序为:~/.bash_profile~/.bash_login~/.profile

如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。

因为在 ~/.bash_profile文件中一般会有下面的代码:

if [ -f ~/.bashrc ] ; then
. ./bashrc
fi

~/.bashrc中,一般还会有以下代码:

if [ -f /etc/bashrc ] ; then
. /etc/bashrc
fi

所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。 Continue reading

ps和pstree

ps和pstree是用于系统分析的基本命令。ps有3中不同风格的命令选项,UNIX风格、BSD风格和GNU风格。这里我们只介绍UNIX风格选项。

ps命令可以显示当前运行的进程列表。top命令也可以显示进程信息,但ps可以提供更加详细的内容。使用相应选项可以影响进程显示的数量。ps -A命令可以列出所有进程及其相应的进程ID(PID),当我们使用如pmap或renice等工具时会用到此PID。 Continue reading

关于Linux操作系统源代码查看工具的介绍

a、Windows系统可以用Source Insight,Linux系统可以用Source Navigator。

b、vim或emacs编辑器,配合cscope、ctags、etags等交叉索引工具。

c、vim或emacs编辑器,配合grep、egrep等文本搜索工具,不过最好要对源代码目录结构有所熟悉

d、LXR,以网页的形式通过浏览器浏览,安装复杂(debian下安装容易,请版面搜寻lxr)

e、GNU global,可以在命令行用,也可以生成hypertext,类似lxr,但更省事。

Source Insight3.5(含Key)下载

FreeBSD/Linux检测硬盘坏道

Linux检测硬盘坏道

badblocks

功能说明:检查磁盘装置中损坏的区块。

语法:badblocks [-svw][-b ][-o ][磁盘装置][磁盘区块数][启始区块]

补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。

参数:

-b 指定磁盘的区块大小,单位为字节。

-o 将检查的结果写入指定的输出文件。

-s 在检查时显示进度。

-v 执行时显示详细的信息。

-w 在检查时,执行写入测试。

[磁盘装置] 指定要检查的磁盘装置。

[磁盘区块数] 指定磁盘装置的区块总数。

[启始区块] 指定要从哪个区块开始检查。

badblocks 检测磁盘坏块

1)$badblocks -s //显示进度 -v //显示执行详细情况 /dev/sda1

2)读写方式检测 未挂载的磁盘设备或分区

$badblocks -s //显示进度 -w //以写去检测 -v //显示执行详细情况 /dev/sda2

========================= Continue reading

Linux性能测试工具Lmbench介绍和使用说明

Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。

1、Lmbench的使用与介绍

Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。其官方网站是:http://www.bitmover.com/lmbench/。
2、Lmbench主要功能
带宽测评工具反应时间测评工具其他读取缓存文件
拷贝内存
读内存
写内存
管道
TCP上下文切换
网络:连接的建立,管道,TCP,UDP和RPChotpotato
文件系统的建立和删除
进程创建
信号处理
上层的系统调用
内存读入反应时间处理器时钟比率计算 Continue reading

device 0 has different MAC address than expected 的解决办法

今天克隆了一份vm(centos),发现重启网卡的时候提示"device 0 has different MAC address than expected..."之类的错误,手动修改mac地址也不行.后来找到一种解决办法如下:

删除 HWADDR 一行,然后执行ifconfig和service network restart命令.然后用ifconfig命令查看就会发现已经可以正常使用了.

不过在eth0文件里HWADDR这一行系统并没有自动添加上的.

如何查看linux版本

如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案!

1. 查看内核版本命令:

 1) [root@q1test01 ~]# cat /proc/version 

Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005

  2) [root@q1test01 ~]# uname -a 

Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux

 3) [root@q1test01 ~]# uname -r 

2.6.9-22.ELsmp Continue reading

Linux系统监控工具之vmstat详解

vmstat是一个十分有用的Linux系统监控工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。

一、前言

很显然从名字中我们就可以知道vmstat是一个查看虚拟内存(Virtual Memory)使用状况的工具,但是怎样通过vmstat来发现系统中的瓶颈呢?在回答这个问题前,还是让我们回顾一下Linux中关于虚拟内存相关内容。

二、虚拟内存运行原理

在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。 Continue reading