文档库 最新最全的文档下载
当前位置:文档库 › Linux System and Performance Monitoring

Linux System and Performance Monitoring

Linux System and Performance Monitoring
Linux System and Performance Monitoring

Linux System and Performance Monitoring

Linux System and Performance Monitoring(CPU篇) (2)

Linux System and Performance Monitoring(Memory篇) (9)

Linux System and Performance Monitoring(I/O篇) (12)

Linux System and Performance Monitoring(Network篇) (17)

Linux System and Performance Monitoring(总结篇) (27)

Linux System and Performance Monitoring(CPU

篇 )

08月10th, 2009 Posted in Linux, Monitor

作者:tonnyom

原载: https://www.wendangku.net/doc/8b14551941.html,/html/y2009/370.html

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

Linux System and Performance Monitoring(CPU篇)

Date: 2009.07.21

Author: Darren Hoch

译: Tonnyom[AT]https://www.wendangku.net/doc/8b14551941.html, 2009.08.10

前言: 网上其实有很多关于这方面的文章,那为什么还会有此篇呢,有这么几个原因,是我翻译的动力,第一,概念和内容虽然老套,但都讲得很透彻,而且还很全面.第二,理论结合实际,其中案例分析都不错.第三,不花哨,采用的工具及命令都是最基本的,有助于实际操作.但本人才疏学浅,译文大多数都是立足于自己对原文的理解,大家也可以自己去OSCAN 上找原文,如果有什么较大出入,还望留言回复,甚是感激!

1.0 性能监控介绍

性能优化就是找到系统处理中的瓶颈以及去除这些的过程,多数管理员相信看一些相关的"cook book"就可以实现性能优化,通常通过对内核的一些配置是可以简单的解决问题,但并不适合每个环境,性能优化其实是对OS 各子系统达到一种平衡的定义,这些子系统包括了:

CPU

Memory

IO

Network

这些子系统之间关系是相互彼此依赖的,任何一个高负载都会导致其他子系统出现问题.比如:

大量的页调入请求导致内存队列的拥塞

网卡的大吞吐量可能导致更多的CPU开销

大量的CPU开销又会尝试更多的内存使用请求

大量来自内存的磁盘写请求可能导致更多的CPU 以及IO问题

所以要对一个系统进行优化,查找瓶颈来自哪个方面是关键,虽然看似是某一个子系统出现问题,其实有可能是别的子系统导致的.

1.1 确定应用类型

基于需要理解该从什么地方来入手优化瓶颈,首先重要的一点,就是理解并分析当前系统的特点,多数系统所跑的应用类型,主要为2种:

IO Bound(译注:IO 范畴): 在这个范畴中的应用,一般都是高负荷的内存使用以及存储系统,这实际上表示IO 范畴的应用,就是一个大量数据处理的过程.IO 范畴的应用不对CPU以及网络发起更多请求(除非类似NAS 这样的网络存储硬件).IO 范畴的应用通常使用CPU 资源都是为了产生IO 请求以及进入到内核调度的sleep 状态.通常数据库软件(译注:mysql,oracle等)被认为是IO 范畴的应用类型.

CPU Bound(译注:CPU 范畴): 在这个范畴中的应用,一般都是高负荷的CPU 占用. CPU 范畴的应用,就是一个批量处理CPU 请求以及数学计算的过程.通常web server,mail server,以及其他类型服务被认为是CPU 范畴的应用类型.

1.2 确定基准线统计

系统利用率情况,一般随管理员经验以及系统本身用途来决定.唯一要清楚的就是,系统优化希望达成什么效果,以及哪些方面是需要优化,还有参考值是什么?因此就建立一个基准线,这个统计数据必须是系统可用性能状态值,用来比较不可用性能状态值.

在以下例子中,1个系统性能的基准线快照,用来比较当高负荷时的系统性能快照.

# vmstat 1

procs memory swap io system cpu

r b swpd free buff cache si so bi bo in cs us sy wa id

1 0 13859

2 17932 126272 214244 0 0 1 18 109 19 2 1 1 96

0 0 138592 17932 126272 214244 0 0 0 0 105 46 0 1 0 99

0 0 138592 17932 126272 214244 0 0 0 0 198 62 40 14 0 45

0 0 138592 17932 126272 214244 0 0 0 0 117 49 0 0 0 100

0 0 138592 17924 126272 214244 0 0 0 176 220 938 3 4 13 80

0 0 138592 17924 126272 214244 0 0 0 0 358 1522 8 17 0 75

1 0 13859

2 17924 126272 214244 0 0 0 0 368 1447 4 24 0 72

0 0 138592 17924 126272 214244 0 0 0 0 352 1277 9 12 0 79

# vmstat 1

procs memory swap io system cpu

r b swpd free buff cache si so bi bo in cs us sy wa id

2 0 145940 17752 118600 215592 0 1 1 18 109 19 2 1 1 96

2 0 145940 15856 118604 215652 0 0 0 468 789 108 86 14 0 0

3 0 146208 1388

4 118600 214640 0 360 0 360 498 71 91 9 0 0

2 0 146388 13764 118600 213788 0 340 0 340 672 41 87 1

3 0 0

2 0 147092 13788 118600 212452 0 740 0 1324 620 61 92 8 0 0

2 0 147360 13848 118600 211580 0 720 0 720 690 41 96 4 0 0

2 0 147912 13744 118192 210592 0 720 0 720 605 44 95 5 0 0

2 0 148452 13900 118192 209260 0 372 0 372 639 45 81 19 0 0

2 0 149132 13692 117824 208412 0 372 0 372 457 47 90 10 0 0

从上面第一个结果可看到,最后一列(id) 表示的是空闲时间,我们可以看到,在基准线统计时,CPU 的空闲时间在79% - 100%.在第二个结果可看到,系统处于100%的占用率以及没有空闲时间.从这个比较中,我们就可以确定是否是CPU 使用率应该被优化.

2.0 安装监控工具

多数*nix系统都有一堆标准的监控命令.这些命令从一开始就是*nix 的一部分.Linux 则通过基本安装包以及额外包提供了其他监控工具,这些安装包多数都存在各个Linux 发布版本中.尽管还有其他更多的开源以及第三方监控软件,但本文档只讨论基于Linux 发布版本的监控工具.

本章将讨论哪些工具怎样来监控系统性能.

Tool Description Base Repository

vmstat all purpose performance tool yes yes

mpstat provides statistics per CPU no yes

sar all purpose performance monitoring tool no yes

iostat provides disk statistics no yes

netstat provides network statistics yes yes

dstat monitoring statistics aggregator no in most distributions

iptraf traffic monitoring dashboard no yes

netperf Network bandwidth tool no In some distributions

ethtool reports on Ethernet interface configuration yes yes

iperf Network bandwidth tool no yes

tcptrace Packet analysis tool no yes

3.0 CPU 介绍

CPU 利用率主要依赖于是什么资源在试图存取.内核调度器将负责调度2种资源种类:线程(单一或者多路)和中断.调度器去定义不同资源的不同优先权.以下列表从优先级高到低排列:

Interrupts(译注:中断) - 设备通知内核,他们完成一次数据处理的过程.例子,当一块网卡设备递送网络数据包或者一块硬件提供了一次IO 请求.

Kernel(System) Processes(译注:内核处理过程) - 所有内核处理过程就是控制优先级别.

User Processes(译注:用户进程) - 这块涉及"userland".所有软件程序都运行在这个user space.这块在内核调度机制中处于低优先级.

从上面,我们可以看出内核是怎样管理不同资源的.还有几个关键内容需要介绍,以下部分就将介绍context(译注:上下文切换),run queues(译注:运行队列)以及utilization(译注:利用率).

3.1 上下文切换

多数现代处理器都能够运行一个进程(单一线程)或者线程.多路超线程处理器有能力运行多个线程.然而,Linux 内核还是把每个处理器核心的双核心芯片作为独立的处理器.比如,以Linux 内核的系统在一个双核心处理器上,是报告显示为两个独立的处理器.

一个标准的Linux 内核可以运行50 至50,000 的处理线程.在只有一个CPU时,内核将调度并均衡每个进程线程.每个线程都分配一个在处理器中被开销的时间额度.一个线程要么就是获得时间额度或已抢先获得一些具有较高优先级(比如硬件中断),其中较高优先级的线程将从区域重新放置回处理器的队列中.这种线程的转换关系就是我们提到的上下文切换.

每次内核的上下文切换,资源被用于关闭在CPU寄存器中的线程和放置在队列中.系统中越多的上下文切换,在处理器的调度管理下,内核将得到更多的工作.

3.2 运行队列

每个CPU 都维护一个线程的运行队列.理论上,调度器应该不断的运行和执行线程.进程线程不是在sleep 状态中(译注:阻塞中和等待IO中)或就是在可运行状态中.如果CPU 子系统处于高负荷下,那就意味着内核调度将无法及时响应系统请求.导致结果,可运行状态进程拥塞在运行队列里.当运行队列越来越巨大,进程线程将花费更多的时间获取被执行.

比较流行的术语就是"load",它提供当前运行队列的详细状态.系统load 就是指在CPU 队列中有多少数目的线程,以及其中当前有多少进程线程数目被执行的组合.如果一个双核系统执行了2个线程,还有4个在运行队列中,则load 应该为6. top 这个程序里显示的load averages 是指1,5,15 分钟以内的load 情况.

3.3 CPU 利用率

CPU 利用率就是定义CPU 使用的百分比.评估系统最重要的一个度量方式就是CPU 的利用率.多数性能监控工具关于CPU 利用率的分类有以下几种:

User Time(译注:用户进程时间) - 关于在user space中被执行进程在CPU 开销时间百分比.

System Time(译注:内核线程以及中断时间) - 关于在kernel space中线程和中断在CPU 开销时间百分比. Wait IO(译注:IO 请求等待时间) - 所有进程线程被阻塞等待完成一次IO 请求所占CPU 开销idle的时间百

分比.

Idle(译注:空闲) - 一个完整空闲状态的进程在CPU 处理器中开销的时间百分比.

4.0 CPU 性能监控

理解运行队列,利用率,上下文切换对怎样CPU 性能最优化之间的关系.早期提及到,性能是相对于基准线数据的.在一些系统中,通常预期所达到的性能包括:

Run Queues - 每个处理器应该运行队列不超过1-3 个线程.例子,一个双核处理器应该运行队列不要超过6 个线程.

CPU Utiliation - 如果一个CPU 被充分使用,利用率分类之间均衡的比例应该是

65% - 70% User Time

30% - 35% System Time

0% - 5% Idle Time

Context Switches - 上下文切换的数目直接关系到CPU 的使用率,如果CPU 利用率保持在上述均衡状态时,大量的上下文切换是正常的.

很多Linux 上的工具可以得到这些状态值,首先就是vmstat 和top 这2个工具.

4.1 vmstat 工具的使用

vmstat 工具提供了一种低开销的系统性能观察方式.因为vmstat 本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat 输出结果.这个工具运行在2种模式下:average 和sample 模式.sample 模式通过指定间隔时间测量状态值.这个模式对于理解在持续负荷下的性能表现,很有帮助.下面就是

vmstat 运行1秒间隔的示例:

# vmstat 1

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

0 0 104300 16800 95328 72200 0 0 5 26 7 14 4 1 95 0

0 0 104300 16800 95328 72200 0 0 0 24 1021 64 1 1 98 0

0 0 104300 16800 95328 72200 0 0 0 0 1009 59 1 1 98 0

Table 1: The vmstat CPU statistics

Field Description

r The amount of threads in the run queue. These are threads that are runnable, but the CPU

is not available to execute them.

当前运行队列中线程的数目.代表线程处于可运行状态,但CPU 还未能执行.

b This is the number of processes blocked and waiting on IO requests to finish.

当前进程阻塞并等待IO 请求完成的数目

in This is the number of interrupts being processed.

当前中断被处理的数目

cs This is the number of context switches currently happening on the system.

当前kernel system中,发生上下文切换的数目

us This is the percentage of user CPU utilization.

CPU 利用率的百分比

sys This is the percentage of kernel and interrupts utilization.

内核和中断利用率的百分比

wa This is the percentage of idle processor time due to the fact that ALL runnable threads

are blocked waiting on IO.

所有可运行状态线程被阻塞在等待IO 请求的百分比

id This is the percentage of time that the CPU is completely idle.

CPU 空闲时间的百分比

4.2 案例学习:持续的CPU 利用率

在这个例子中,这个系统被充分利用

# vmstat 1

procs memory swap io system cpu

r b swpd free buff cache si so bi bo in cs us sy wa id

3 0 20656

4 15092 80336 176080 0 0 0 0 718 26 81 19 0 0

2 0 206564 14772 80336 176120 0 0 0 0 758 2

3 96

4 0 0

1 0 206564 14208 80336 176136 0 0 0 0 820 20 96 4 0 0

1 0 206956 13884 79180 175964 0 41

2 0 2680 1008 80 9

3 7 0 0

2 0 207348 14448 78800 175576 0 412 0 412 76

3 70 8

4 16 0 0

2 0 207348 15756 78800 175424 0 0 0 0 874 25 89 11 0 0

1 0 207348 16368 78800 175596 0 0 0 0 940 24 86 14 0 0

1 0 207348 16600 78800 175604 0 0 0 0 929 27 95 3 0 2

3 0 207348 16976 78548 175876 0 0 0 2508 969 35 93 7 0 0

4 0 207348 16216 78548 175704 0 0 0 0 874 36 93 6 0 1

4 0 207348 16424 78548 175776 0 0 0 0 850 26 77 23 0 0

2 0 207348 17496 78556 175840 0 0 0 0 736 2

3 83 17 0 0

0 0 207348 17680 78556 175868 0 0 0 0 861 21 91 8 0 1

根据观察值,我们可以得到以下结论:

1,有大量的中断(in) 和较少的上下文切换(cs).这意味着一个单一的进程在产生对硬件设备的请求.

2,进一步显示某单个应用,user time(us) 经常在85%或者更多.考虑到较少的上下文切换,这个应用应该还在处理器中被处理.

3,运行队列还在可接受的性能范围内,其中有2个地方,是超出了允许限制.

4.3 案例学习:超负荷调度

在这个例子中,内核调度中的上下文切换处于饱和

# vmstat 1

procs memory swap io system cpu

r b swpd free buff cache si so bi bo in cs us sy wa id

2 1 207740 98476 81344 180972 0 0 2496 0 900 288

3

4 12 57 27

0 1 207740 96448 83304 180984 0 0 1968 328 810 2559 8 9 83 0

0 1 207740 94404 85348 180984 0 0 2044 0 829 2879 9 6 78 7

0 1 207740 92576 87176 180984 0 0 1828 0 689 2088 3 9 78 10

2 0 207740 91300 88452 180984 0 0 1276 0 565 2182 7 6 8

3 4

3 1 207740 9012

4 89628 180984 0 0 1176 0 551 2219 2 7 91 0

4 2 207740 89240 90512 180984 0 0 880 520 443 907 22 10 67 0

5 3 207740 8805

6 91680 180984 0 0 1168 0 628 1248 12 11 7

7 0

4 2 207740 86852 92880 180984 0 0 1200 0 654 150

5

6

7 87 0

6 1 207740 85736 93996 180984 0 0 1116 0 526 1512 5 10 85 0

0 1 207740 84844 94888 180984 0 0 892 0 438 1556 6 4 90 0

根据观察值,我们可以得到以下结论:

1,上下文切换数目高于中断数目,说明kernel中相当数量的时间都开销在上下文切换线程.

2,大量的上下文切换将导致CPU 利用率分类不均衡.很明显实际上等待io 请求的百分比(wa)非常高,以及user time百分比非常低(us).

3,因为CPU 都阻塞在IO请求上,所以运行队列里也有相当数目的可运行状态线程在等待执行.

4.4 mpstat 工具的使用

如果你的系统运行在多处理器芯片上,你可以使用mpstat 命令来监控每个独立的芯片.Linux 内核视双核处理器为2 CPU's,因此一个双核处理器的双内核就报告有4 CPU's 可用.

mpstat 命令给出的CPU 利用率统计值大致和vmstat 一致,但是mpstat 可以给出基于单个处理器的统计值. # mpstat –P ALL 1

Linux 2.4.21-20.ELsmp (localhost.localdomain) 05/23/2006

05:17:31 PM CPU %user %nice %system %idle intr/s

05:17:32 PM all 0.00 0.00 3.19 96.53 13.27

05:17:32 PM 0 0.00 0.00 0.00 100.00 0.00

05:17:32 PM 1 1.12 0.00 12.73 86.15 13.27

05:17:32 PM 2 0.00 0.00 0.00 100.00 0.00

05:17:32 PM 3 0.00 0.00 0.00 100.00 0.00

4.5 案例学习: 未充分使用的处理量

在这个例子中,为4 CPU核心可用.其中2个CPU 主要处理进程运行(CPU 0 和1).第3个核心处理所有内核和其他系统功能(CPU 3).第4个核心处于idle(CPU 2).

使用top 命令可以看到有3个进程差不多完全占用了整个CPU 核心.

# top -d 1

top - 23:08:53 up 8:34, 3 users, load average: 0.91, 0.37, 0.13

Tasks: 190 total, 4 running, 186 sleeping, 0 stopped, 0 zombie

Cpu(s): 75.2% us, 0.2% sy, 0.0% ni, 24.5% id, 0.0% wa, 0.0% hi, 0.0%

si

Mem: 2074736k total, 448684k used, 1626052k free, 73756k buffers

Swap: 4192956k total, 0k used, 4192956k free, 259044k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

15957 nobody 25 0 2776 280 224 R 100 20.5 0:25.48 php

15959 mysql 25 0 2256 280 224 R 100 38.2 0:17.78 mysqld

15960 apache 25 0 2416 280 224 R 100 15.7 0:11.20 httpd

15901 root 16 0 2780 1092 800 R 1 0.1 0:01.59 top

1 root 16 0 1780 660 57

2 S 0 0.0 0:00.64 init

# mpstat –P ALL 1

Linux 2.4.21-20.ELsmp (localhost.localdomain) 05/23/2006

05:17:31 PM CPU %user %nice %system %idle intr/s

05:17:32 PM all 81.52 0.00 18.48 21.17 130.58

05:17:32 PM 0 83.67 0.00 17.35 0.00 115.31

05:17:32 PM 1 80.61 0.00 19.39 0.00 13.27

05:17:32 PM 2 0.00 0.00 16.33 84.66 2.01

05:17:32 PM 3 79.59 0.00 21.43 0.00 0.00

05:17:32 PM CPU %user %nice %system %idle intr/s

05:17:33 PM all 85.86 0.00 14.14 25.00 116.49

05:17:33 PM 0 88.66 0.00 12.37 0.00 116.49

05:17:33 PM 1 80.41 0.00 19.59 0.00 0.00

05:17:33 PM 2 0.00 0.00 0.00 100.00 0.00

05:17:33 PM 3 83.51 0.00 16.49 0.00 0.00

05:17:33 PM CPU %user %nice %system %idle intr/s

05:17:34 PM all 82.74 0.00 17.26 25.00 115.31

05:17:34 PM 0 85.71 0.00 13.27 0.00 115.31

05:17:34 PM 1 78.57 0.00 21.43 0.00 0.00

05:17:34 PM 2 0.00 0.00 0.00 100.00 0.00

05:17:34 PM 3 92.86 0.00 9.18 0.00 0.00

05:17:34 PM CPU %user %nice %system %idle intr/s

05:17:35 PM all 87.50 0.00 12.50 25.00 115.31

05:17:35 PM 0 91.84 0.00 8.16 0.00 114.29

05:17:35 PM 1 90.82 0.00 10.20 0.00 1.02

05:17:35 PM 2 0.00 0.00 0.00 100.00 0.00

05:17:35 PM 3 81.63 0.00 15.31 0.00 0.00

你也可以使用ps 命令通过查看PSR 这列,检查哪个进程在占用了哪个CPU.

# while :; do ps -eo pid,ni,pri,pcpu,psr,comm | grep 'mysqld'; sleep 1;

done

PID NI PRI %CPU PSR COMMAND

15775 0 15 86.0 3 mysqld

PID NI PRI %CPU PSR COMMAND

15775 0 14 94.0 3 mysqld

PID NI PRI %CPU PSR COMMAND

15775 0 14 96.6 3 mysqld

PID NI PRI %CPU PSR COMMAND

15775 0 14 98.0 3 mysqld

PID NI PRI %CPU PSR COMMAND

15775 0 14 98.8 3 mysqld

PID NI PRI %CPU PSR COMMAND

15775 0 14 99.3 3 mysqld

4.6 结论

监控CPU 性能由以下几个部分组成:

1,检查system的运行队列,以及确定不要超出每个处理器3个可运行状态线程的限制.

2,确定CPU 利用率中user/system比例维持在70/30

3,当CPU 开销更多的时间在system mode,那就说明已经超负荷并且应该尝试重新调度优先级4,当I/O 处理得到增长,CPU 范畴的应用处理将受到影响

Linux System and Performance Monitoring(Memory

篇 )

08月11th, 2009 Posted in Linux, Monitor

作者:tonnyom

原载: https://www.wendangku.net/doc/8b14551941.html,/html/y2009/376.html

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

Linux System and Performance Monitoring(Memory篇)

Date: 2009.07.21

Author: Darren Hoch

译: Tonnyom[AT]https://www.wendangku.net/doc/8b14551941.html,

5.0 Virtual Memory介绍

虚拟内存就是采用硬盘对物理内存进行扩展,所以对可用内存的增加是要相对在一个有效范围内的.内核会写当前未使用内存块的内容到硬盘上,此时这部分内存被用于其它用途.当再一次需要原始内容时,此时再读回到内存中.这对于用户来说,是完全透明的;在Linux 下运行的程序能够看到,也仅仅是大量的可用内存,同时也不会留意到,偶尔还有部分是驻留在磁盘上的.当然,在硬盘上进行读和写,都是很慢的(大约会慢上千倍),相对于使用真实内存的话,因此程序无法运行的更快.用硬盘的一部分作为Virtual Memory,这就被称为"swap space"(译注:交换空间).

5.1 Virtual Memory Pages

虚拟内存被分为很多pages(译注:页),在X86架构中,每个虚拟内存页为4KB.当内核写内存到磁盘或者读磁盘到内存,这就是一次写内存到页的过程.内核通常是在swap 分区和文件系统之间进行这样的操作.

5.2 Kernel Memory Paging

内存分页在正常情况下总是活跃的,与memory swapping(译注:内存交换)之间不要搞错了.内存分页是指内核会定期将内存中的数据同步到硬盘,这个过程就是Memory Paging.日复一日,应用最终将会消耗掉所有的内存空间.考虑到这点,内核就必须经常扫描内存空间并且收回其中未被使用的内存页,然后再重新分配内存空间给其他应用使用.

5.3 The Page Frame Reclaim Algorithm(PFRA)(译注:页框回收算法)

PFRA 就是OS 内核用来回收并释放内存空间的算法.PFRA 选择哪个内存页被释放是基于内存页类型的.页类型有以下几种:

Unreclaimable –锁定的,内核保留的页面

Swappable –匿名的内存页

Syncable –通过硬盘文件备份的内存页

Discardable –静态页和被丢弃的页

除了第一种(Unreclaimable)之外其余的都可以被PFRA进行回收.

与PFRA 相关的,还包括kswapd 内核线程以及Low On Memory Reclaiming(LMR算法) 这2种进程和实现.

5.4 kswapd

kswapd 进程负责确保内存空间总是在被释放中.它监控内核中的pages_high和pages_low阀值.如果空闲内存的数值低于pages_low,则每次kswapd 进程启动扫描并尝试释放32个free pages.并一直重复这个过程,直到空闲内存的数值高于pages_high.

kswapd 进程完成以下几个操作:

1,如果该页处于未修改状态,则将该页放置回空闲列表中.

2,如果该页处于已修改状态并可备份回文件系统,则将页内容写入到磁盘.

3,如果该页处于已修改状态但没有任何磁盘备份,则将页内容写入到swap device.

# ps -ef | grep kswapd

root 30 1 0 23:01 ? 00:00:00 [kswapd0]

5.5 Kernel Paging with pdflush

pdflush 进程负责将内存中的内容和文件系统进行同步操作.也就是说,当一个文件在内存中进行修改后, pdflush 将负责写回到磁盘上.

# ps -ef | grep pdflush

root 28 3 0 23:01 ? 00:00:00 [pdflush]

root 29 3 0 23:01 ? 00:00:00 [pdflush]

当内存中存在10% 的脏页,pdflush 将被启动同步脏页回文件系统里.这个参数值可以通过

vm.dirty_background_ratio 来进行调整.

(译注:

Q:什么是脏页?

A:由于内存中页缓存的缓存作用,写操作实际上都是延迟的.当页缓存中的数据比磁盘存储的数据还要更新时,那么该数据就被称做脏页.)

# sysctl -n vm.dirty_background_ratio

10

在多数环境下,Pdflush与PFRA是独立运行的,当内核调用LMR时,LMR 就触发pdflush将脏页写入到磁盘里.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

在2.4 内核下,一个高负荷的内存环境中,系统将遇到交换过程中不断的崩溃.这是因为PFRA 从一个运行进程中,偷取其中一个内存页并尝试使用.导致结果就是,这个进程如果要回收那个页时,要是没有就会尝试再去偷取这个页,这样一来,就越来越糟糕了.在2.6 内核下,使用"Swap token"修复了这个BUG,用来防止PFRA 不断从一个进程获取同一个页.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

5.6 案例学习:大量的入口I/O

vmstat 工具报告里除了CPU 使用情况,还包括了虚拟内存.以下就是vmstat 输出中关于虚拟内存的部分: Table 2: The vmstat Memory Statistics

Field Description

Swapd The amount of virtual memory in KB currently in use. As free memory reaches low thresholds, more data is paged to the swap device.

当前虚拟内存使用的总额(单位:KB).空闲内存达到最低的阀值时,更多的数据被转换成页到交换设备中. Free The amount of physical RAM in kilobytes currently available to running applications.

当前内存中可用空间字节数.

Buff The amount of physical memory in kilobytes in the buffer cache as a result of read() and write() operations.

当前内存中用于read()和write()操作的缓冲区中缓存字节数

Cache The amount of physical memory in kilobytes mapped into process address space.

当前内存中映射到进程地址空间字节数

So The amount of data in kilobytes written to the swap disk.

写入交换空间的字节数总额

Si The amount of data in kilobytes written from the swap disk back into RAM.

从交换空间写回内存的字节数总额

Bo The amount of disk blocks paged out from the RAM to the filesystem or swap device.

磁盘块页面从内存到文件或交换设备的总额

Bi The amount of disk blocks paged into RAM from the filesystem or swap device.

磁盘块页面从文件或交换设备到内存的总额

以下vmstat 的输出结果,就是演示一个在I/O 应用中,虚拟内存在高负荷情况下的环境

# vmstat 3

procs memory swap io system cpu

r b swpd free buff cache si so bi bo in cs us sy id wa

3 2 809192 261556 79760 886880 416 0 824

4 751 426 863 17 3 6 75

0 3 809188 194916 79820 952900 307 0 21745 1005 1189 2590 34 6 12 48

0 3 809188 162212 79840 988920 95 0 12107 0 1801 2633 2 2 3 94

1 3 809268 88756 79924 1061424 260 28 18377 113 114

2 1694

3 5 3 88

1 2 826284 17608 71240 1144180 100 6140 25839 16380 1528 1179 19 9 12 61

2 1 854780 17688 34140 1208980 1 9535 25557 30967 1764 2238 4

3 13 16 28

0 8 867528 17588 32332 1226392 31 4384 16524 27808 1490 1634 41 10 7 43

4 2 877372 17596 32372 1227532 213 3281 10912 3337 678 932 33 7 3 57

1 2 885980 17800 32408 1239160 204 2892 12347 12681 1033 982 40 12 2 46

5 2 900472 17980 32440 1253884 24 4851 17521 485

6 934 1730 48 12 13 26

1 1 904404 17620 3249

2 1258928 15 1316 7647 15804 919 978 49 9 17 25

4 1 911192 17944 32540 1266724 37 2263 12907 3547 834 1421 47 14 20 20

1 1 91929

2 17876 31824 1275832 1 2745 16327 2747 617 1421 52 11 2

3 14

5 0 92521

6 17812 25008 1289320 12 1975 12760 3181 772 1254 50 10 21 19

0 5 932860 17736 21760 1300280 8 2556 15469 3873 825 1258 49 13 24 15

根据观察值,我们可以得到以下结论:

1,大量的disk pages(bi)被写入内存,很明显在进程地址空间里,数据缓存(cache)也在不断的增长.

2,在这个时间点上,空闲内存(free) 始终保持在17MB,即使数据从硬盘读入而在消耗RAM.

3,为了维护空闲列表, kswapd 从读/写缓存区(buff)中获取内存并分配到空闲列表里.很明显可以看到buffer cache(buff) 在逐渐的减少中.

4, 同时kswapd 进程不断的写脏页到swap device(so)时,很明显虚拟内存的利用率是在逐渐的增加中(swpd).

5.7 结论

监控虚拟内存性能由以下几个部分组成:

1,当系统中出现较少的页错误,获得最好的响应时间,是因为memory caches(译注:内存高速缓存)比disk caches更快(译注:磁盘高速缓存).

2,较少的空闲内存,是件好事情,那意味着缓存的使用更有效率.除非在不断的写入swap device和disk.

3,如果系统不断报告,swap device总是繁忙中,那就意味着内存已经不足,需要升级了.

Linux System and Performance Monitoring(I/O

篇 )

08月12th, 2009 Posted in Linux, Monitor

作者:tonnyom

原载: https://www.wendangku.net/doc/8b14551941.html,/html/y2009/381.html

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

Linux System and Performance Monitoring(I/O篇)

Date: 2009.07.21

Author: Darren Hoch

译: Tonnyom[AT]https://www.wendangku.net/doc/8b14551941.html,

6.0 I/O 监控介绍

磁盘I/O 子系统是Linux 系统中最慢的部分.这个主要是归于CPU到物理操作磁盘之间距离(译注:盘片旋转以及寻道).如果拿读取磁盘和内存的时间作比较就是分钟级到秒级,这就像7天和7分钟的区别.因此本质上,Linux 内核就是要最低程度的降低I/O 数.本章将诉述内核在磁盘和内存之间处理数据的这个过程中,哪些地方会产生I/O.

6.1 读和写数据- 内存页

Linux 内核将硬盘I/O 进行分页,多数Linux 系统的默认页大小为4K.读和写磁盘块进出到内存都为4K 页大小.你可以使用time 这个命令加-v 参数,来检查你系统中设置的页大小:

# /usr/bin/time -v date

Page size (bytes): 4096

6.2 Major and Minor Page Faults(译注:主要页错误和次要页错误)

Linux,类似多数的UNIX 系统,使用一个虚拟内存层来映射硬件地址空间.当一个进程被启动,内核先扫描CPU caches和物理内存.如果进程需要的数据在这2个地方都没找到,就需要从磁盘上读取,此时内核过程就是major page fault(MPF).MPF 要求磁盘子系统检索页并缓存进RAM.

一旦内存页被映射进内存的buffer cache(buff)中,内核将尝试从内存中读取或写入,此时内核过程就是minor page fault(MnPF).与在磁盘上操作相比,MnPF 通过反复使用内存中的内存页就大大的缩短了内核时间.

以下的例子,使用time 命令验证了,当进程启动后,MPF 和MnPF 的变化情况.第一次运行进程,MPF 会更多: # /usr/bin/time -v evolution

Major (requiring I/O) page faults: 163

Minor (reclaiming a frame) page faults: 5918

第二次再运行时,内核已经不需要进行MPF了,因为进程所需的数据已经在内存中:

# /usr/bin/time -v evolution

Major (requiring I/O) page faults: 0

Minor (reclaiming a frame) page faults: 5581

6.3 The File Buffer Cache(译注:文件缓存区)

文件缓存区就是指,内核将MPF 过程最小化,MnPF 过程最大化.随着系统不断的产生I/O,buffer cache也将不断的增加.直到内存不够,以及系统需要释放老的内存页去给其他用户进程使用时,系统就会丢弃这些内存页.结果是,很多sa(译注:系统管理员)对系统中过少的free memory(译注:空闲内存)表示担心,实际上这是系统更高效的在使用caches.

以下例子,是查看/proc/meminfo 文件:

# cat /proc/meminfo

MemTotal: 2075672 kB

MemFree: 52528 kB

Buffers: 24596 kB

Cached: 1766844 kB

可以看出,这个系统总计有2GB (Memtotal)的可用内存.当前的空闲内存为52MB (MemFree),有24 MB内存被分配磁盘写操作(Buffers),还有1.7 GB页用于读磁盘(Cached).

内核这样是通过MnPF机制,而不代表所有的页都是来自磁盘.通过以上部分,我们不可能确认系统是否处于瓶颈中.

6.4 Type of Memory Pages

在Linux 内核中,memory pages有3种,分别是:

1,Read Pages - 这些页通过MPF 从磁盘中读入,而且是只读.这些页存在于Buffer Cache中以及包括不能够修改的静态文件,二进制文件,还有库文件.当内核需要它们时,将读取到内存中.如果内存不足,内核将释放它们回空闲列表中.程序再次请求时,则通过MPF 再次读回内存.

2,Dirty Pages - 这些页是内核在内存中已经被修改过的数据页.当这些页需要同步回磁盘上,由pdflush 负责写回磁盘.如果内存不足,kswapd (与pdflush 一起)将这些页写回到磁盘上并释放更多的内存.

3,Anonymous Pages - 这些页属于某个进程,但是没有任何磁盘文件和它们有关.他们不能和同步回磁盘.如果内存不足,kswapd 将他们写入swap 分区上并释放更多的内存("swapping" pages).

6.5 Writing Data Pages Back to Disk

应用程序有很多选择可以写脏页回磁盘上,可通过I/O 调度器使用fsync() 或sync() 这样的系统函数来实现立即写回.如果应用程序没有调用以上函数,pdflush 进程会定期与磁盘进行同步.

# ps -ef | grep pdflush

root 186 6 0 18:04 ? 00:00:00 [pdflush]

7.0 监控I/O

当觉得系统中出现了I/O 瓶颈时,可以使用标准的监控软件来查找原因.这些工具包括了top,vmstat,iostat,sar.它们的输出结果一小部分是很相似,不过每个也都提供了各自对于性能不同方面的解释.以下章节就将讨论哪些情况会导致I/O 瓶颈的出现.

7.1 Calculating IO's Per Second(译注:IOPS 的计算)

每个I/O 请求到磁盘都需要若干时间.主要是因为磁盘的盘边必须旋转,机头必须寻道.磁盘的旋转常常被称为"rotational delay"(RD),机头的移动称为"disk seek"(DS).一个I/O 请求所需的时间计算就是DS加上RD.磁盘的RD 基于设备自身RPM 单位值(译注:RPM 是Revolutions Perminute的缩写,是转/每分钟,代表了硬盘的转速).一个RD 就是一个盘片旋转的

半圆.如何计算一个10K RPM设备的RD 值呢:

1, 10000 RPM / 60 seconds (10000/60 = 166 RPS)

2, 转换为166分之1 的值(1/166 = 0.006 seconds/Rotation)

3, 单位转换为毫秒(6 MS/Rotation)

4, 旋转半圆的时间(6/2 = 3MS) 也就是RD

5, 加上平均3 MS 的寻道时间(3MS + 3MS = 6MS)

6, 加上2MS 的延迟(6MS + 2MS = 8MS)

7, 1000 MS / 8 MS (1000/8 = 125 IOPS)

每次应用程序产生一个I/O,在10K RPM磁盘上都要花费平均8MS.在这个固定时间里,磁盘将尽可能且有效率在进行读写磁盘.IOPS 可以计算出大致的I/O 请求数,10K RPM 磁盘有能力提供120-150 次IOPS.评估IOPS 的效能,可用每秒读写I/O 字节数除以每秒读写IOPS 数得出.

7.2 Random vs Sequential I/O(译注:随机/顺序I/O)

per I/O产生的KB 字节数是与系统本身workload相关的,有2种不同workload的类型,它们是sequential 和random.

7.2.1 Sequential I/O(译注:顺序IO)

iostat 命令提供信息包括IOPS 和每个I/O 数据处理的总额.可使用iostat -x 查看.顺序的workload是同时读顺序请求大量的数据.这包括的应用,比如有商业数据库(database)在执行大量的查询和流媒体服务.在这个workload 中,KB per I/O 的比率应该是很高的.Sequential workload 是可以同时很快的移动大量数据.如果每个I/O 都节省了时间,那就意味了能带来更多的数据处理.

# iostat -x 1

avg-cpu: %user %nice %sys %idle

0.00 0.00 57.1 4 42.86

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util

/dev/sda 0.00 12891.43 0.00 105.71 0.00 1 06080.00 0.00 53040.00 1003.46 1099.43 3442.43 26.49 280.00

/dev/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

/dev/sda2 0.00 12857.14 0.00 5.71 0.00 105782.86 0.00 52891.43 18512.00 559.14 780.00 490.00 280.00 /dev/sda3 0.00 34.29 0.00 100.00 0.00 297.14 0.00 148.57 2.97 540.29 594.57 24.00 240.00

avg-cpu: %user %nice %sys %idle

0.00 0.00 23.53 76.47

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util

/dev/sda 0.00 17320.59 0.00 102.94 0.00 142305.88 0.00 71152.94 1382.40 6975.29 952.29 28.57 294.12

/dev/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

/dev/sda2 0.00 16844.12 0.00 102.94 0.00 138352.94 0.00 69176.47 1344.00 6809.71 952.29 28.57 294.12

/dev/sda3 0.00 476.47 0.00 0.00 0.00 952.94 0.00 1976.47 0.00 165.59 0.00 0.00 276.47

评估IOPS 的效能,可用每秒读写I/O 字节数除以每秒读写IOPS 数得出,比如

rkB/s 除以r/s

wkB/s 除以w/s

53040/105 = 505KB per I/O

71152/102 = 697KB per I/O

在上面例子可看出,每次循环下,/dev/sda 的per I/O 都在增加.

7.2.2 Random I/O(译注:随机IO)

Random的worklaod环境下,不依赖于数据大小的多少,更多依赖的是磁盘的IOPS 数.Web和Mail 服务就是典型的Random workload.I/O 请求内容都很小.Random workload是同时每秒会有更多的请求数产生.所以,磁盘的IOPS 数是关键.

# iostat -x 1

avg-cpu: %user %nice %sys %idle

2.04 0.00 97.96 0.00

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util

/dev/sda 0.00 633.67 3.06 102.31 24.49 5281.63 12.24 2640.82 288.89 73.67 113.89 27.22 50.00

/dev/sda1 0.00 5.10 0.00 2.04 0.00 57.14 0.00 28.57 28.00 1.12 55.00 55.00 11.22

/dev/sda2 0.00 628.57 3.06 100.27 24.49 5224.49 12.24 2612.24 321.50 72.55 121.25 30.63 50.00

/dev/sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

avg-cpu: %user %nice %sys %idle

2.15 0.00 97.85 0.00

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util

/dev/sda 0.00 41.94 6.45 130.98 51.61 352.69 25.81 3176.34 19.79 2.90 286.32 7.37 15.05

/dev/sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

/dev/sda2 0.00 41.94 4.30 130.98 34.41 352.69 17.20 3176.34 21.18 2.90 320.00 8.24 15.05

/dev/sda3 0.00 0.00 2.15 0.00 17.20 0.00 8.60 0.00 8.00 0.00 0.00 0.00 0.00

计算方式和之前的公式一致:

2640/102 = 23KB per I/O

3176/130 = 24KB per I/O

(译注:对于顺序I/O来说,主要是考虑读取大量数据的能力即KB per request.对于随机I/O系统,更需要考虑的是IOPS值)

7.3 When Virtual Memory Kills I/O

如果系统没有足够的RAM 响应所有的请求,就会使用到SWAP device.就像使用文件系统I/O,使用SWAP device 代价也很大.如果系统已经没有物理内存可用,那就都在SWAP disk上创建很多很多的内存分页,如果同一文件系统的数据都在尝试访问SWAP device,那系统将遇到I/O 瓶颈.最终导致系统性能的全面崩溃.如果内存页不能够及时读或写磁盘,它们就一直保留在RAM中.如果保留时间太久,内核又必须释放内存空间.问题来了,I/O 操作都被阻塞住了,什么都没做就被结束了,不可避免地就出现kernel panic和system crash.

下面的vmstat 示范了一个内存不足情况下的系统:

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

17 0 1250 3248 45820 1488472 30 132 992 0 2437 7657 23 50 0 23

11 0 1376 3256 45820 1488888 57 245 416 0 2391 7173 10 90 0 0

12 0 1582 1688 45828 1490228 63 131 1348 76 2432 7315 10 90 0 10

12 2 3981 1848 45468 1489824 185 56 2300 68 2478 9149 15 12 0 73

14 2 10385 2400 44484 1489732 0 87 1112 20 2515 11620 0 12 0 88

14 2 12671 2280 43644 1488816 76 51 1812 204 2546 11407 20 45 0 35

这个结果可看出,大量的读请求回内存(bi),导致了空闲内存在不断的减少(free).这就使得系统写入swap device的块数目(so)和swap 空间(swpd)在不断增加.同时看到CPU WIO time(wa)百分比很大.这表明I/O 请求已经导致CPU 开始效率低下.

要看swaping 对磁盘的影响,可使用iostat 检查swap 分区

# iostat -x 1

avg-cpu: %user %nice %sys %idle

0.00 0.00 100.00 0.00

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util

/dev/sda 0.00 1766.67 4866.67 1700.00 38933.33 31200.00 19466.67 15600.00 10.68 6526.67 100.56 5.08 3333.33

/dev/sda1 0.00 933.33 0.00 0.00 0.00 7733.33 0.00 3866.67 0.00 20.00 2145.07 7.37 200.00

/dev/sda2 0.00 0.00 4833.33 0.00 38666.67 533.33 19333.33 266.67 8.11 373.33 8.07 6.90 87.00

/dev/sda3 0.00 833.33 33.33 1700.00 266.67 22933.33 133.33 11466.67 13.38 6133.33 358.46 11.35 1966.67

在这个例子中,swap device(/dev/sda1) 和file system device(/dev/sda3)在互相作用于I/O. 其中任一个会有很高写请求(w/s),也会有很高wait time(await),或者较低的服务时间比率(svctm).这表明2个分区之间互有联系,互有影响.

7.4 结论

I/O 性能监控包含了以下几点:

1,当CPU 有等待I/O 情况时,那说明磁盘处于超负荷状态.

2,计算你的磁盘能够承受多大的IOPS 数.

3,确定你的应用是属于随机或者顺序读取磁盘.

4,监控磁盘慢需要比较wait time(await) 和service time(svctm).

5,监控swap 和系统分区,要确保virtual memory不是文件系统I/O 的瓶颈.

Linux System and Performance Monitoring(Network

篇 )

08月13th, 2009 Posted in Linux, Monitor

作者:tonnyom

原载: https://www.wendangku.net/doc/8b14551941.html,/html/y2009/390.html

版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

Linux System and Performance Monitoring(Network篇)

Date: 2009.07.21

Author: Darren Hoch

译: Tonnyom[AT]https://www.wendangku.net/doc/8b14551941.html,

8.0 Network 监控介绍

在所有的子系统监控中,网络是最困难的.这主要是由于网络概念很抽象.当监控系统上的网络性能,这有太多因素.这些因素包括了延迟,冲突,拥挤和数据包丢失.

这个章节讨论怎么样检查Ethernet(译注:网卡),IP,TCP的性能.

8.1 Ethernet Configuration Settings(译注:网卡配置的设置)

除非很明确的指定,几乎所有的网卡都是自适应网络速度.当一个网络中有很多不同的网络设备时,会各自采用不同的速率和工作模式.

多数商业网络都运行在100 或1000BaseTX.使用ethtool 可以确定这个系统是处于那种速率.

以下的例子中,是一个有100BaseTX 网卡的系统,自动协商适应至10BaseTX 的情况.

# ethtool eth0

Settings for eth0:

Supported ports: [ TP MII ]

Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Supports auto-negotiation: Yes

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Advertised auto-negotiation: Yes

Speed: 10Mb/s

Duplex: Half

Port: MII

PHYAD: 32

Transceiver: internal

Auto-negotiation: on

Supports Wake-on: pumbg

Wake-on: d

Current message level: 0x00000007 (7)

Link detected: yes

以下示范例子中,如何强制网卡速率调整至100BaseTX:

# ethtool -s eth0 speed 100 duplex full autoneg off

# ethtool eth0

Settings for eth0:

Supported ports: [ TP MII ]

Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Supports auto-negotiation: Yes

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Advertised auto-negotiation: No

Speed: 100Mb/s

Duplex: Full

Port: MII

PHYAD: 32

Transceiver: internal

Auto-negotiation: off

Supports Wake-on: pumbg

Wake-on: d

Current message level: 0x00000007 (7)

Link detected: yes

8.2 Monitoring Network Throughput(译注:网络吞吐量监控)

接口之间的同步并不意味着仅仅有带宽问题.重要的是,如何管理并优化,这2台主机之间的交换机,网线,或者路由器.测试网络吞吐量最好的方式就是,在这2个系统之间互相发送数据传输并统计下来,比如延迟和速度. 8.2.0 使用iptraf 查看本地吞吐量

iptraf 工具(https://www.wendangku.net/doc/8b14551941.html,),提供了每个网卡吞吐量的仪表盘.

#iptraf -d eth0

Figure 1: Monitoring for Network Throughput

从输出中可看到,该系统发送传输率(译注:Outgoing rates)为61 mbps,这对于100 mbps网络来说,有点慢. 8.2.1 使用netperf 查看终端吞吐量

不同于iptraf 被动的在本地监控流量,netperf 工具可以让管理员,执行更加可控的吞吐量监控.对于确定从客户端工作站到一个高负荷的服务器端(比如file 或web server),它们之间有多少吞吐量是非常有帮助的.netperf 工具运行的是client/server 模式.

完成一个基本可控吞吐量测试,首先netperf server 必须运行在服务器端系统上:

server# netserver

Starting netserver at port 12865

Starting netserver at hostname 0.0.0.0 port 12865 and family AF_UNSPEC

netperf 工具可能需要进行多重采样.多数基本测试就是一次标准的吞吐量测试.以下例子就是,一个LAN(译注:局域网) 环境下,从client 上执行一次30秒的TCP 吞吐量采样:

从输出可看出,该网络的吞吐量大致在89 mbps 左右.server(192.168.1.215) 与client 在同一LAN 中.这对于100 mbps网络来说,性能非常好.

client# netperf -H 192.168.1.215 -l 30

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to

192.168.1.230 (192.168.1.230) port 0 AF_INET

Recv Send Send

Socket Socket Message Elapsed

Size Size Size Time Throughput

bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 30.02 89.46

从LAN 切换到具备54G(译注:Wireless-G是未来54Mbps无线网联网标准)无线网络路由器中,并在10 英尺范围内测试时.该吞吐量就急剧的下降.在最大就为54 MBits的可能下,笔记本电脑可实现总吞吐量就为14 MBits.

client# netperf -H 192.168.1.215 -l 30

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to

192.168.1.215 (192.168.1.215) port 0 AF_INET

Recv Send Send

Socket Socket Message Elapsed

Size Size Size Time Throughput

bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 30.10 14.09

如果在50英尺范围内呢,则进一步会下降至5 MBits.

# netperf -H 192.168.1.215 -l 30

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to

192.168.1.215 (192.168.1.215) port 0 AF_INET

Recv Send Send

Socket Socket Message Elapsed

Size Size Size Time Throughput

bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 30.64 5.05

如果从LAN 切换到互联网上,则吞吐量跌至1 Mbits下了.

# netperf -H https://www.wendangku.net/doc/8b14551941.html, -p 1500 -l 30

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to

https://www.wendangku.net/doc/8b14551941.html, (72.249.104.148) port 0 AF_INET

Recv Send Send

Socket Socket Message Elapsed

Size Size Size Time Throughput

bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 31.58 0.93

最后是一个VPN 连接环境,这是所有网络环境中最槽糕的吞吐量了.

# netperf -H 10.0.1.129 -l 30

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to

10.0.1.129 (10.0.1.129) port 0 AF_INET

Recv Send Send

Socket Socket Message Elapsed

Size Size Size Time Throughput

bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 31.99 0.51

另外,netperf 可以帮助测试每秒总计有多少的TCP 请求和响应数.通过建立单一TCP 连接并顺序地发送多个

linux运维工程师有前途吗

企业里的Linux运维工程师要从以往平时人肉部署各种业务环境,处理各种故障(负载高、CPU高、服务宕机、被攻击),每天火烧眉毛、焦头烂额、苦劳多功劳少的工作模式切换到速率的工作模式了。 Linux运维都是做什么的? 从名称来分: Linux运维工程师可以做的工作按照招聘网站上的名称来分有: 大中型网络工程师或者网络管理员; Linux/Unix网络工程师;系统集成售前工程师; 网络方案实施工程师;售后技术支持工程师;邮件服务器管理员;

网络安全工程师;SQL数据库管理员; 网站维护工程师; 网络的安全顾问; PHP企业架站管理员; Internet网站管理员;论坛架设管理员。 从Linux方向来分: Linux的系统、网络、服务、集群、网站、网络应用方向,负责Web应用服务器、Mail应用服务器、中间件或J2EE服务器; 嵌入式开发、Linux应用、内核驱动开发方向,负责Linux下的C/C++系统程序开发、嵌入式Linux开发;

Linux下的数据库,如MySQL、Oracl方向。 相信很多准备从事运维工作的人都会有这样的疑问,尤其是一些刚出校门并且对运维岗位不熟悉的同学会觉得运维的工作特别杂,或者说有些LOW,不过这也是事实。因为这个岗位现在还是良莠不齐,在很多小公司的入门门槛较低,很多初入门的运维普遍在做着一些比较辛苦、琐碎的工作,比如维护机器、部署发布、监控处理等等,这些工作占据了他们百分之八十到一百的时间,根本无暇思考如何去优化自己的工作效率,当然有些小公司,规模较小,也不需要运维同学去思考。 Linux运维的钱途怎么样? Linux运维薪资情况 我先给出一个招聘网站上经常能看到的数据: 初级LINUX运维工程师,月薪6000左右; 中级LINUX运维工程师,月薪10000左右; 高级LINUX运维工程师,月薪20000左右。 在这里仅仅只是粗略的分成了初中高三个级别。从基本收入可以看出来,入门基本都是6K的水平。无论你是进入的小规模公司打杂,还是大规模互联网企业。

linux运维工程师简历

个人简历 个人简历 基本信息 姓名:工作经验: 性别:联系电话: 年龄:电子邮件: 求职意向 Linux工程师系统工程师 专业技能 1.熟练搭建linux/windows系统各类服务,如WEB、Mail、Puppet、DNS、Vsftp、 svn等; 2.熟悉Linux shell环境,熟练使用shell脚本编程,并熟悉运用awk、sed 等脚本辅助工具; 3.熟悉Iptables、Cacti、Nagios、Ntop、Nessus、zabbix等配臵; 4.熟悉Mysql、Ldap、Oracle RAC集群搭建配臵和基本的sql语句; 5.熟悉Oracle的冷热备份、闪回技术及基本管理; 6.熟悉配臵常见的web集群,软件LVS+keepalived等; 7.熟悉F5、IDP、Cisco、h3c路由器、交换机、防火墙的常用配臵; 8.熟悉虚拟化vmware搭建及管理,了解KVM,XEN虚拟技术和云计算平台; 教育背景 2008-09至 2011-07 北京外事研修学院 2010-03 至2012-06 北大青鸟APTECH 所获证书 OSTA高新技术认证 红帽RHCE认证 信息系统专家 北京外事研修学院专科毕业证 工作经历 时间/公司2011/7 至今北京市致远科技有限公司 岗位:Linux工程师 岗位职责: 1.负责网站平台的更新升级和对用户使用的问题进行解决,协助分析系统bug 跟踪处理进度,负责服务器日常维护,负责搭建及维护监控平台,编写并及时更新工作手册; 2.登录服务器检查数据库Oracle Rac、ogg运行情况; 3.每日检查oracle、RSA、ldap、F5、IDP备份及Linux系统资源运行状况; 4.负责系统平台上线及更新并进行系统新功能的测试,并编写测试报告运维报 告相关文档; 5.编写常用脚本提高运维的准确和效率率,如oracle rman、ldap备份脚本; 6.定期对存储Ibm v7000健康检查; 7.管理和维护RSA、ldap、WEB等服务; 8.定期对机房主机设备进行健康检查;

Linux运维工程师工作手册

Linux运维工程师工作手册 释放内存: sync echo3>/proc/sys/vm/drop_caches Linux查看Dell服务器型号 命令: dmidecode|grep"ProductName" 查看系统负载: cat/proc/loadavg 1/28310904 意思是:前三个是系统负载,1/283中,1代表此时运行队伍中的进程个数,而283是代表此时的进程总数 10904到此为止,最后创建的一个进程ID。 系统装好后,要做的事如下: 关闭防火墙Selinux: vim/etc/selinux/config 把SELINUX=enforcing改成SELINUX=disabled 更改主机名: vim/etc/sysconfig/network 修改主机名,不要用localhost 添加hosts主机记录 vim/etc/hosts中,在后面,添加自己的主机名 创建0-9a-z目录 foriin`seq09`{a..z};domkdir-p$i;done: 测试硬盘性能工具:iozone 监视服务器每少上下文切换数次工具:Nmon(很不错的性能监视工具)

#占用内存大小前10的进程 ps-eocomm,size--sort-size|head-10 #占用cp u使用前10的进程 ps-eocomm,pcpu--sort-pcpu|head-10 一、Apache服务优化:2 1.配置cronolog进行日志轮询2 2.错误页面优雅显示2 文件压缩功能3 缓存功能4 5.更改apache的默认用户5 模式,提升并发数(可以达到2000-5000)5 7.屏蔽apache版本等敏感信息6 目录文件权限设置(root,目录755,文件644)6 9.开启增加连接数6 10.apache防盗链功能8 11.禁止目录Index8 12.禁止用户覆盖(重载)8 13.关闭CGI9 14.避免使用.htaccess文件(分布式配置文件)9 15.apache的安全模块9 16.正确途径取得源代码,勤打apache补丁10 日志授予root700权限10 18.系统内核参数优化10 19.禁止PHP解析指定站点的目录10 20.使用tmpfs文件系统替代频繁访问的目录11 21尽可能减少HTTP请求数11 22使用CDN做网站加速12

Linux下VsFTP配置全方案

Linux下VsFTP配置全方案 纲要: 一,VsFTPd的简述 二,企业Linux下vsFTPD方案 三,VsFTPD相关配置文件详解 一,VsFTPd的简述: VSFTP(Very Secure FTP Daemon,非常安全的FTP服务器)。顾名思义,VSFTPD 设计的出发点就是安全性。同时随着版本的不断升级,VSFTPD在性能和稳定性上也取得了极大的进展。除了安全和性能方面很优秀的外,还有很好的易用性。Red Hat公司在自己的FTP服务器(https://www.wendangku.net/doc/8b14551941.html,)上就使用了vsFTPd 二,企业Linux下vsFTPD实战方案 要求: 1. 用户:netseek_com;FTP:https://www.wendangku.net/doc/8b14551941.html,(19 2.168.0.21,我已经配置好了相关的DNS) 2. 禁止匿名登陆,禁止用户离开用户目录 3. 命令通道端口使用5021,数据通道端口使用5020(你可以改成你想设置的端口如1021,1020) 4. 允许使用被动模式使用端口范围为10010~10020. 5. 用户带宽设置为200kps;用户空间大小限制为300M,允许宽限期限内有10MB 的缓冲 具体操作步骤如下: 为了更完全的描述安装全过程,我在我的另一台主机(netseek)上进行配置,在台机IP:192.168.0.20上绑定了192.168.0.21,也配置好了相关的DNS解析,在这里我就不多说了请参照”Linux全能web服务器架设”。 1.配置相关服务 启动服务: [root@netseek root]# #rpm –qa | grep vsftpd ;查看是否安装vsftpd服务 #/etc/init.d/vsftpd start ;启动服务 #chkconfig vsftpd on ;让系统服务随着系统启动而启动 配置相关文档: #vi /etc/vsftpd/vsftpd.conf 禁止匿名用户访问: anonymous_enable=YES,将YES改为NO 在文件末尾加如下的设置: # new added by netseek listen_port=5021 ;命令通道端口,默认为21 listen_data_port=5020 ;数据通道端口,默认为20 pasv_enable=YES ;允许被动模式 pasv_min_port=10000 ;被动模式使用端口范围 pasv_max_port=10010 local_max_rate=200000 ;用户宽带限制 chroot_local_user=YES ;禁用户离开主目录

Linux全攻略--FTP服务器配置与管理

Linux全攻略--FTP服务器配置与管理 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OS I模型的第七层,即是应用层,使用TCP传输而不是UDP.这样FTP客户端和服务器建立连接前就要经过一个"三次握手"的过程.FTP服务还有一个非常重要的特点是它可以独立于平台. LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterpri se Linux中默认安装的是vsftpd. 通常,访问FTP服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文件. vsftpd提供了3种ftp登录形式: (1)anonymous(匿名帐号) 使用anonymous是应用广泛的一种FTP服务器.如果用户在FTP服务器上没有帐号,那么用户可以以a nonymous为用户名,以自己的电子邮件地址为密码进行登录.当匿名用户登录FTP服务器后,其登录目录为匿名FTP服务器的根目录/var/ftp.为了减轻FTP服务器的负载,一般情况下,应关闭匿名帐号的上传功能. (2)real(真实帐号) real也称为本地帐号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的帐号.用真实帐号登录后,其登录的目录为用户自己的目录,该目录在系统建立帐号时系统就自动创建. (3)guest(虚拟帐号) 如果用户在FTP服务器上拥有帐号,但此帐号只能用于文件传输服务,那么该帐号就是guest,guest是真实帐号的一种形式,它们的不同之处在于,geust登录FTP服务器后,不能访问除宿主目录以外的内容. 下面就对其详细介绍. 一.安装与启动vsftpd 先使用命令查看是否安装. 可看到安装了版本为2.0.1.如果没有安装可在桌面上选择"应用程序"/"系统设置"添加/删除应用程序"命令.来安装FTP软件包. 安装和配置好vsftpd软件包后,需要启动FTP服务器才能使用.启动方法有以下两种: 1.使用图形化方式启动,选择"应用程序"/系统设置/服务器设置/服务.可看到vsftpd,打上勾,开始启动. 2.在终端窗口用命令进行启动.

运维工程师简历模板

运维工程师简历模板 E-mail:XXX 求职意向 职位类型:全职 期望月薪:面议 期望地点:浙江省-杭州,广东省-深圳 期望职位:linux运维工程师网络工程师/管理员 IT 意向概述:希望从事linux服务器维护与网络硬件相关方面的工作…… 工作经历/社会实践经历 时间工作单位职务 2011年7月 - 2011年11月浙江台升实业有限公司硬件维护科网络工程师 2010年7月 - 2010年9月中国联通宜州分公司网络产品销售员与实际上门操作员 教育背景 毕业院校:广西河池学院 最高学历:本科毕业日期:2012-07 所学专业:网络工程 校内奖励 获得时间获得奖项学校 2010年12月汉字录入一等奖河池学院

2010年9月优秀共青团员河池学院 校内职务 担任时间职务名称学校 2011年1月 - 2012年7月班级与个人入党联系人河池学院 证书 1、计算机技术与软件专业技术资格(水平)考试-网络工程师认证 2、全国大学英语四级 3、全国普通话2乙 职业技能特长 1、熟练掌握windows server2003各种服务器搭建与管理。 2、熟练掌握inux 各种服务器搭建与管理。 3、具有扎实的CCNA 网络水平,现在正在学习NP。 自我评价 勤奋,踏实,网络基础扎实,乐观开朗,具有团队合作精神。 运维工程师简历模板篇二: 个人信息 目前所在:增城年龄:24 户口所在:湖南国籍:中国 婚姻状况:未婚民族:汉族 培训认证:未参加身高:170 cm 诚信徽章:未申请体重:56 kg

人才测评:未测评 我的特长: 求职意向 人才类型:普通求职 应聘职位:电子/电器/半导体/仪器仪表:,工程/机械:,其它类: 工作年限:3职称:无职称 求职类型:全职可到职日期:随时 月薪要求:2000--3500希望工作地区:广州,广州,湖南 工作经历 聚光科技(杭州)股份有限公司起止年月:2009-06 ~2010-10 公司性质:中外合资所属行业:环保设备及污染处理 担任职位:运维工程师 工作描述:主要针对湖南株洲市衡阳市及永州市三地市的烟气在线监测仪器设备(CEMS)进行维护工作,设备出现任何问题第一时间感到现场解决,主要运营设备:宇星科技发展(深圳)有限公司、北京雪地龙、深圳世纪天源、湖北盘古、北京凯尔等烟气在线监测仪,同时还负责三地市新上设备的安装调试工作。 离职原因:个人原因 宇星科技发展(深圳)有限公司起止年月:2008-05 ~2009-05 公司性质:外商独资所属行业:其他行业

上海Linux运维工程师面试题个人总结)

这下面的是一个企业发的面试题 1你常上的相关技术站有哪些? 2简述你所理解运维工程师的主要职责? 3你管理过的服务器数量级? 1台 2台 2-5台 5-10 台 10台以上 4描述一次你印象深刻的服务器运维经历。 5有一台服务器出现安全问题,你会采取什么样的方法处理?说出你的诊断处理思路。 6有多台服务器需部署相同应用文件,文件会持续更新,你用什么方式实现不同服务器间的文件同步。 7某一台服务器部署多个Web站点,其中有一个w3wp的CPU占用达到100%如何找出有问 题的Web站点? 8你眼中的沪江是怎样的?谈谈你对沪江的理解。 9是否有以下相关经验?如有请简要说明掌握情况。 a、S quid相关经验 b、N ginx、Lighttpd 等 c、Memcached d、负载均衡 e、分布式文件处理 f、Email Server 上午-10点雷傲普文化传播有限公司 1. DNS使用的端口号和协议,简单描述一下DNS正向解析和反向解析的工作原理和作用还 有应用场景? 2. 编写IPTABLES使用内网某台机器的80端口可以在公网访问,假设公网IP为10.10.1.1 , 实现192.168.1.0/32 段的NAT. 3. 举出三个以上的主流WEB服务器,并简述他们的特性和优缺点不限操作系统? Apache 源代码开放可以欲行在unix , windowns , linux 平台上,可移植性,而且模块很是丰富缺点:性能,速度上不及其他轻量级的web服务器,但是也是重量级产品,所消耗的内存,cpu也比其他的要高

Ngi nx 源代码开放发高性能的http和反向代理服务器,在高并发的情况下,ngi nx 是apache不错的替代品,他能够支持高达50000个并发连接响应,内存,cpu等系统资 apache稳定,支持动态页面源消耗也是很低的。缺点,支持模块比较少吧,相对没有不是很 强。 Tomcat对高并发跟静态页面处理还不是很强 Microsoft IIS 配置很简单,只能运行在windows。Linux上,如果要使用还购买商业 win dows server 操作系统。 4, 举出两个主流代理服务器,简述工作模式和优缺点? 5, 举出两个负载均衡的软件,并简述工作模式和优缺点? 6,IE,FF,chrome游览器最大并发请求数是多少?, 7,简单举例一下linux和windows系统今年都有哪些漏洞? 8, mysql数据库备份都有哪一些,部署一个高可用mysql应用环境,并说明他的高可用性? 9, 什么是裸设备,他的好处是什么?,mysql支持裸设备吗?10, 如果给你一个100g的INNODB类型数据库,你会用什么备份方案来做备份。 11,写一个简单的shell脚本,脚本运行时让CTRL+(无法中断的该shell脚本? 12、如何快速编译单一的内核模块? 13、如何动态增加apache和PHP模块? 14、说出linux开机流程? 15、具体说说cacti的安装过程? 16、cacti 与nagios 的区别?cacti 如何监控mysql ? 17、mysql主从复制如何实现? 18、raid 0 与raid 的区别? 19、DNS解析详细过程?从主机访问域名(三家公司都问这个问题)让写出来? 20、脚本会多少?掌握程度?sed awk区别? 人事问题(下面的都是每一个企业问的最多的问题,这些问题是我自己经历的,都是我自己的回答,仅供参考,每个人经历不一样,回答的时候一定要和写在网上的还有自己写的简历保持一致,他们好多都是把你投的简历下载下来,然后看着下载下来的简历问你问题)1. 先问问你写的工作经历,在以前公司主要做什么,是什么公司,多少人,主要负责什么, 还有你写的项目经验,项目具体怎么实施的,(一定要明白原理性的东西,把他说出来就可以) 2. 问完工作经历后,问你为什么辞职?。 我说因为以前的公司的工作接触到了linux。被linux的开源所吸引,对linux的开源产 生了兴趣,但是靠自己去学有点吃力,就辞去工作在郑州找了一家培训机构培训RHCE 3. 问为什么不在本地工作,来上海有什么规划? 4. 谈谈你对运维工程师的理解

Linux搭建FTP服务器(虚拟用户配置文件)

Linux搭建FTP服务器(虚拟用户配置文件) 先行关闭防火墙,或者打开端口 1、建立虚拟用户口令库文件 口令库文件中奇数行设置用户名,偶数行设置口令 # vi /etc/vsftpd/logins.tx t zhangwenbo -用户名 123 --密码 test --用户名 123 --密码 ftp 123 2、生成vsftpd的认证文件 # db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db 注:如果没有db_load命令,请安装db4*相关rpm包。 # chmod 600 /etc/vsftpd/vsftpd_login.db --设置认证文件只对用户可读可写 3、建立虚拟用户所需的PAM配置文件 # vi /etc/pam.d/vsftpd 添加一下内容 auth required /lib(32位的)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib(32位的)/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致! 4、建立虚拟用户所要访问的目录并设置相应权限 # mkdir /var/ftp/pub/FTP--创建FTP工作目录 # useradd -d /var/ftp/pub/FTP -s /sbin/nolog virtual (用户名) --用于映射到本地的用户 # chown virtual:virtual/var/ftp/pub/FTP --FTP文件夹所属virtual用户 # chmod 700 /var/ftp/pub/FTP --权限可读可写 5、设置vi /etc/vsftpd/vsftpd.conf 配置文件 首先关闭匿名用户anonymous_enable=YE改为NO 或者在前边加#,在末尾添加:

Linux运维工程师岗位的具体职责范本

Linux运维工程师岗位的具体职责范本 Linux运维工程师岗位的具体职责范本1 职责: 1、负责公司服务器、SAN网络和存储、虚拟化等基础架构平台的建设和运维; 2、负责系统的安装、部署、更新、优化、监控、日常运行维护,保障高质量的7*24小时运行,提升服务器的稳定性和负载能力; 3、负责对系统、应用、服务器等进行监控告警,故障定位分析处理,保证服务器的线上稳定运行,实现与运维相关的自动化工具或系统; 4、针对数据安全做出相应的同步、备份,提高系统的安全性,稳定性,并就一些可能发生的风险进行评估,规避以及预警; 5、配合开发团队,部署相关应用系统和应用发布。 任职要求: 1、精通Linux操作系统及系统环境配置、优化,对系统常见应用软件有深入理解,如nginx、tomcat、keepalived、lvs、mysql、oracle、Redis等应用配置、部署及性能调优; 2、熟练利用各种工具进行系统状态监控(cacti、Nagios、zabbix等)和优化; 3、熟练shell脚本编写,能够编写日常需求脚本; 4、有RHCE证书可优先考虑。 Linux运维工程师岗位的具体职责范本2 职责:

1、负责公司服务器、SAN网络和存储、虚拟化等基础架构平台的建设和运维; 2、负责系统的安装、部署、更新、优化、监控、日常运行维护,保障高质量的7*24小时运行,提升服务器的稳定性和负载能力; 3、负责对系统、应用、服务器等进行监控告警,故障定位分析处理,保证服务器的线上稳定运行,实现与运维相关的自动化工具或系统; 4、针对数据安全做出相应的同步、备份,提高系统的安全性,稳定性,并就一些可能发生的风险进行评估,规避以及预警; 5、配合开发团队,部署相关应用系统和应用发布。 任职要求: 1、精通Linux操作系统及系统环境配置、优化,对系统常见应用软件有深入理解,如nginx、tomcat、keepalived、lvs、mysql、oracle、Redis等应用配置、部署及性能调优; 2、熟练利用各种工具进行系统状态监控(cacti、Nagios、zabbix等)和优化; 3、熟练shell脚本编写,能够编写日常需求脚本; 4、有RHCE证书可优先考虑。 Linux运维工程师岗位的具体职责范本3 职责: 1.负责研发部IT监控平台的规划和建设; 2.负责研发部运维自动化平台规划建设; 3.负责研发部IT系统的网络规划、建设、运维,保证各业务系统正常运行; 4.负责研发部现有IT系统部署架构以及性能优化;

系统运维工程师简历

张三 目前正在找工作182***79 1*** 男|26 岁 (1991/07/06)|现居住成都|4年工作经验 最近工作 职位: 售前/售后技术支持工程师公司: 行业: 互联网/电子商务最高学历/学位 专业: 工商企业管理学校: 电子科技大学学历/学位: 本科 个人信息 QQ号: 户口/国籍: 身高: 173cm 婚姻状况: 未婚 家庭地址: 政治面貌: 共青团员 求职意向 个人标签: 态度决定一切踏实细心有责任心努力 期望薪资: 12000 元/月地点: 成都 职能/职位: 技术支持/维护经理技术支持/维护工程 师售前售后技术支持工程师 行业: 计算机软件 到岗时间: 随时工作类型: 全职 自我评价: 以用户为中心思考问题并注重用户体验,做事细心负责,有事业心,能吃苦耐劳,能够承受工作压力。人际关系融洽,环境适应能力强,待人诚恳。坚信:细节决定成败,态度决定一切,希望与公司共发展。 工作经验 2015/11-至今售前/售后技术支持工程师|运维部 科技有限公司 工作描述: 1、负责红帽客户服务器日常巡检,分析系统资源消耗情况以及系统安全隐患,编写分析报告并针对系统安全隐患

给予优化解决方案。 2、提供红帽RHV虚拟化产品的系统环境部署,版本升级处理,售后管理使用培训,故障处理等技术支持服务。 3、负责行openshift项目环境部署,安全策略设置,售后使用培训,编写常见问题解决方案等服务 4、负责双机高可用集群的部署,编写部署方案,现场部署及验证,售后使用培训及交付等服务。 5、负责基于RHV环境下的P2V迁移培训,迁移方案编写,现场验证方案等服务。 6、负责客户遇到的系统故障的应急响应与日常疑难问题(包括系统使用、RHV虚拟化、高可用等),给予疑难解 答,故障处理,维护linux服务器,监控服务器性能等技术支持服务。 7、负责公司Linux操作系统的安装、配置,系统监控与维护,问题处理,以及软件升级,安全优化,问题跟踪,保证其 稳定、高效运行,提高系统的可用率及可维护性。 8、负责linux下apache、mysql、php、ntp、samba、iscsi、dns、ftp等常见服务器环境架设,安全配置与 安全检查,掌握Linux平台常用服务配置,快速部署、配置及排错。 2014/9-2015/11 售前/售后技术支持主管|技术部 有限责任公司 工作描述: 在该公司,负责的工作内容主要包括以下几个方面: 1、对接公司运营项目或开发项目完成项目售前支持工作,包括沟通客户需求、需求调研分析、项目可实施性评 估、解决方案撰写制作与呈现,为客户提供产品、技术咨询以及后期的合同拟订,订单跟踪等。 2、完成必要的项目测试,后台配置,服务器部署,项目交付,使用培训,系统维护等售后支持工作。 3、日常微信运营项目及网站安全维护、内容更新、营销游戏的线上线下技术支持,同时负责对外联系网络推广, 域名注册,公众号注册认证、公众号框架以及内容建设等工作。 4、负责公司微信OA系统,微信打印机等产品的推广销售、搭建部署、客户培训及后期技术疑难解答类工作。 5、学习linux,负责公司内部计算机/服务器的管理与维护,包括操作系统、常用软件的安装与配置,用户权限、 组,活动目录,域的设置,系统ghost备份,计算机故障的检测、排除,域名管理等日常运维工作。 6、评估管控其所在部门的其她同事的工作效率及质量,合理分配公司事物,合力完成公司考核指标,为公司、为 团队争取最大收益。 2014/4-2014/9 、NET开发工程师|开发部 有限责任公司 工作描述: 1、完成公司门户网站的开发及测试。 2、测试公司研发的ERP管理系统,编写测试报告及用户如何使用的培训工作以及后期的技术支持工作。 3、完成公司自主研发的商城商品上架工作。

运维工程师个人简历范文

运维工程师个人简历范文 运维工程师简历的写作技巧旨在让简历看起来更具有说服力,你所写的建立真实度越高则通过率就越高。那么如何让个人简历看起来更可靠呢?要求用事实说话,不夹杂过于感情化的描写,以数据、事实描述来代替形容词。 篇一:运维工程师个人简历范文 个人信息 fwdq 目前所在:广州年龄:26 户口所在:湖南国籍:中国 婚姻状况:未婚民族:汉族 求职意向 人才类型:普通求职 应聘职位:计算机软件:,it-品管、技术支持及其它:,运维工程师 工作年限:3 职称:中级 求职类型:全职可到职日期:一个星期 月薪要求:5000--8000 希望工作地区:广州,, 工作经历 广州新科佳都科技有限公司起止年月:XX-04 ~ XX-04 公司性质:私营企业所属行业:计算机服务(系统、数据服

务,维修) 担任职位:运维工程师 工作描述:1、负责地铁afc系统产品的工程项目实施,软件维护,新软件测试升级等工作。 2、熟练操作qnx系统(类似于linux),sybase、sql数据库维护,以及软件安装调试。 3、协调处理好业主的需求。 离职原因: 广州爱递思电子科技有限公司起止年月:XX-07 ~ XX-03 公司性质:私营企业所属行业:电子技术/半导体/集成电路担任职位:助理工程师 工作描述:1、从事公共广播系统设备的硬件电路设计,样板制作,调试,及软件系统测试等工作。 2、相关设计资料的制作,生产线技术问题跟进。 3、客户技术问题跟进。 离职原因: 教育背景 毕业院校:湖南工业职业技术学院 最高学历:大专获得学位:毕业日期:XX-06 专业:电子信息工程专 起始年月终止年月学校(机构)所学专业获得证书证书编号 XX-09XX-06湖南工业职业技术学院电子信息工程大专毕业证-

linux下FTP服务器安装配置(VSftp)

环境: RedHat AS4 说明: 如果不做说明,一般安装命令均使用ROOT权限,用 # 表示 特别说明:无 以下文章介绍Liunx 环境下vsftpd的三种实现方法 一、前言 Vsftp(Very Secure FTP)是一种在Unix/Linux中非常安全且快速稳定的 FTP服务器,目前已经被许多大型站点所采用 Vsftpd的实现有三种方式 1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问 2、本地用户形式:以/etc/passwd中的用户名为认证方式 3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服 务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器 的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增 强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密 码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。 对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对 下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说, 虚拟用户是一种极好的解决方案。

默认情况下vsftp上传之后文件的权限是600,目录权限是700 想要修改上传之后文件的权限,有两种情况 如果使用vsftp的是本地用户 则要修改配置文件中的 local_umask的值 如果使用vsftp的是虚拟用户 则要修改配置文件中的 anon_umask的值 二、vsftp配置大全-三种方式的实现 1、匿名用户形式: 任务实现匿名用户上传,下载,删除,重命名,新建目录,删除目录,重命名目录; 第一步:在/var/ftp/下,新建一个目录share; chmod –R 777 /var/ftp/share/ chown –R nobody:nobody /var/ftp/share/ 第二步:更改/etc/vsftpd/vsftpd.conf anonymous_enable=YES local_enable=YES

运维工程师个人简历范文

运维工程师个人简历范文 运维工程师的写作技巧旨在让简历看起来更具有说服力,你所写的建立真实度越高则通过率就越高。那么如何让看起来更可靠呢?要求用事实说话,不夹杂过于感情化的描写,以数据、事实描述来代替形容词。 个人信息 目前所在:广州年龄:26 户口所在:湖南国籍:中国 婚姻状况:未婚民族:汉族 求职意向 人才类型:普通求职 应聘职位:计算机软件:,it-品管、技术支持及其它:,运维工程师

工作年限:3 职称:中级 求职类型:全职可到职日期:一个星期 月薪要求:5000--8000 希望工作地区:广州,, 工作经历 广州新科佳都科技有限公司起止年月:XX-04 ~ XX-04 公司性质:私营企业所属行业:计算机服务(系统、数据服务,维修) 担任职位:运维工程师 工作描述:1、负责地铁afc系统产品的工程项目实施,软件维护,新软件测试升级等工作。 2、熟练操作qnx系统(类似于linux),sybase、sql数据库维护,以及软件安装调试。

3、协调处理好业主的需求。 离职原因: 广州爱递思电子科技有限公司起止年月:XX-07 ~ XX-03 公司性质:私营企业所属行业:电子技术/半导体/集成电路 担任职位:助理工程师 工作描述:1、从事公共广播系统设备的硬件电路设计,样板制作,调试,及软件系统测试等工作。 2、相关设计资料的制作,生产线技术问题跟进。 3、客户技术问题跟进。 离职原因: 教育背景 毕业院校:湖南工业职业技术学院

最高学历:大专获得学位:毕业日期:XX-06 专业:电子信息工程专 起始年月终止年月学校(机构)所学专业获得证书证书编号 XX-09XX-06湖南工业职业技术学院电子信息工程大专毕业证- 语言能力 外语:英语良好粤语水平:一般 其它外语能力: 国语水平:良好 工作能力及其他专长 熟悉电子产品的开发流程,工作原理,构造等知识,以及电子产品的调试,测试等。在之前的工作中,我学会了很多,学会了怎么

Linux运维工程师成长必经之路

Linux运维工程师成长必经之路 本路线图是从0基础开始,全方位由浅入深,按照多年Linux培训经验和优秀教学方法制定的学习思路和学习方法,路线图包括初级入门、中级进阶、高级提升和资深冲刺四个阶段,每阶段对应着不同优秀的课程和学习方法,与市面不同的是本课程更注重企业生产环境的实际应用,所有课程精心打造,内容和深度均借鉴国内外一线厂商的工业标准,授课方式不像大学老师那样照本宣科,以生动诙谐的演讲方式为大家呈现课程内容,把最有价值的东西提炼出来深入讲解和练习。 目标 通过通俗易懂的讲课方式和实战的演练,以及全套顶级的指引方法,着力于培养出业内优秀的运维工程师。

初级入门: 1. 1 本课程是入门的基础,也是任何一位优秀运维工程师必须掌握的内容,课程从0基础开始,循序渐进,逐步深入。 推荐学习课程: Linux基础入门课程 工欲善其事必先利其器!在从事Linux行业之前,要搞清很多问题,比如为什么Linux这么受欢迎,为什么Linux学习比较复杂,但学成后Linux运维工程师就能月薪过万,本节课程为你展示什么是冯诺依曼体系,计算机到底是什么?操作系统发展,Linux是什么、Linux起源等业界最根本的东西,课程内容以讲故事的方式阐述,给你带来不一样的感受和对Linux的全新认识。 2. 2 Linux运维基础进阶和shell入门 本课程介绍了编程基础原理,和一些知识点的梳理,之后课程会逐步介绍bash,文本处理,Linux命令的使用和进阶,之后会深入讲解shell编程。业内教程鱼龙混杂,朋友们时间宝贵,选择一份通俗易懂的教程坚持学下去,一定有很大收获! 3. 3 运维核心-Linux文本处理和文件查找宝典

linux中ftp服务器搭建步骤详解

linux中ftp服务器搭建步骤详解 ftp匿名用户登录目录是/var/ftp ftp实名用户登录目录为它的宿主目录 实验1 [root@localhost ~]#system-config-packages (进入系统程序安装界面)勾选“ftp server”,进行安装。 [root@localhost ~]#service vsftpd start 启动 匿名用户登录ftp 结论:登录成功!! 实名用户登录ftp cd /etc 下载passwd 结论不安全 解决方案: [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf chroot_local_user=YES (加入这行) [root@localhost ~]# service vsftpd restart ----------------------------------------------------------------------------------

试验2 只允许匿名登录,不允许实名 [root@localhost ~]#vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES (修改) local_enable=NO (修改) [root@localhost ~]# service vsftpd restart ----------------------------------------------------------------------------------- 试验3 不允许匿名用户登录 [root@localhost ~]#vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES [root@localhost ~]# service vsftpd restart ----------------------------------------------------------------------------------- 试验4 访问限制 A 黑名单1 [root@localhost ~]# vi /etc/vsftpd.ftpusers 添加a 用户,则a用户无法访问此FTP [root@localhost ~]# service vsftpd restart B 黑名单2 1000个用户,999个不能访问,只有一个可以访问怎么办? [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf userlist_enable=YES userlist_deny=NO userlist_file=/etc/https://www.wendangku.net/doc/8b14551941.html,er_list [root@localhost ~]# vi /etc/https://www.wendangku.net/doc/8b14551941.html,er_list (文件中用户能访问,其他用户不可访问(包括ftp匿名用户))将允许的用户名添加上 [root@localhost ~]# service vsftpd restart ------------------------------------------------------------------------------------ 试验5 限制客户数 [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf max_clients=2 0为不限制 [root@localhost ~]# service vsftpd restart ------------------------------------------------------------------------------------- 试验6 速率限制----ftp网站收费如何解决

it运维工程师简历模板

it运维工程师简历模板 运维工程师(Operations)在国内又称为运维开发工程师(Devops)在国外称为SRE(SiteReliabilityEngineering)负责维护并确保整个服务的高可用性同时不断优化系统架构、提升部署效率、优化资源利用率提高整体的ROI. 运维工程师面对的最大挑战是大规模集群的管理问题如何管理好几十万台服务器上的服务同时保障服务的高可用性是运维工程师面临的最大挑战以下是it运维工程师简历模板欢迎阅读 个人简历 基本信息 姓名:张某某性别:男 婚姻状况:未婚民族:汉 户籍:广西年龄:27 现所在地:浙江杭州身高:1.76 联系电话: 电子邮箱: 求职意向 职位类型:全职 期望月薪:面议 期望地点:浙江省杭州广东省深圳 期望职位:linux运维工程师网络工程师/管理员IT

意向概述:希望从事linux服务器维护与网络硬件相关方面的工作…… 工作经历/社会实践经历 时间工作单位职务 20**年7月20**年11月浙江台升实业有限公司硬件维护科网络工程师 20**年7月20**年9月中国联通宜州分公司网络产品销售员与实际上门操作员 教育背景 毕业院校:广西河池学院 最高学历:本科毕业日期:20**07 所学专业:网络工程 校内奖励 获得时间获得奖项学校 20**年12月汉字录入一等奖河池学院 20**年9月优秀共青团员河池学院 校内职务 担任时间职务名称学校 20**年1月20**年7月班级与个人入党联系人河池学院证书 1、计算机技术与软件专业技术资格(水平)考试网络工程师认证 2、全国大学英语四级

3、全国普通话2乙 职业技能特长 1、熟练掌握windowsserverXX各种服务器搭建与管理 2、熟练掌握inux各种服务器搭建与管理 3、具有扎实的CCNA网络水平现在正在学习NP 自我评价 勤奋踏实网络基础扎实乐观开朗具有团队合作精神 免责声明:本文仅代表作者个人观点,与本网无关

Linux运维工程师必备技能

Linux运维工程师必备技能 Linux是一款免费开源的操作系统,因其具有安全、稳定、免费、高效的特点,在市场上得到广泛的应用,目前90%的企业都在使用Linux操作系统,因此,对Linux运维人才的需求量也是巨大的,那么,要是从事Linux运维工程师需要具备哪些技能? 一、版本的选择 Linux的学习首先要选择合适的Linux版本,推荐学习RedHat或CentOS,其中CentOS在企业里用的最多,当然,如果有时间和兴趣,也可以研究一下其他版本。 二、Linux基础知识 熟练掌握Linux硬件基础,Linux发展史,Linux系统安装/xshell连接/xshell优化/SSH远程连接故障问题排查,Linux基础优化,Linux目录结构知识,Linux文件属性,Linux通配符/正则表达式,Linux系统权限以及Linux系统管理等相关知识。 三、Linux网络服务 Linux网络服务有很多种,不同公司用到的不同,最好是能够熟练掌握以下知识:集群实战架构,rsync数据同步服务,Linux全网备,nfs网络存储服,inotify/sersync实时数据同步/nfs存储实时备份,http协议/www服,nginx web,lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统,nginx负载均衡深入透彻,keepalived高可用等 四、shell脚本语言

要熟练掌握shell脚本语言相关命令的使用,从而更搞笑的实现Linux运维管理。 五、数据库 Linux使用最多的数据库是Mysql数据库,因此,要熟练掌握Mysql数据库的操作以及相关操作语句的书写。 六、防火墙 Iptables是linux常用防火墙,要熟练掌握相关设置,如果有能力也可以学习一下ipset和firewalld。 七、监控工具 服务器运行情况实时反馈,完全依赖有一个好的监控工具,发现问题可以第一时间及时有效的处理,可以避免更大的损失,因此,Linux运维人才必须要会使用Linux监控工具,推荐使用Nagios。 八、数据备份 数据备份对Linux运维工程师来说是必不可少的环节,因此,Linux工作人员要熟练掌握数据备份相关知识。 以上是Linux运维工程师必备技能,当然,除此之外,还有很多技能需要Linux运维工作人员在工作中不断的进行发现问题、解决问题,并掌握相关知识,如果您想成为资深Linux运维工作人员就好好完善自己的Linux技能吧!

LINUX下配置FTP服务器实例详解

摘要:本文通过在red hat 9.0中配置匿名用户和虚拟用户访问的ftp服务器,向读者详尽地诠释了linux下ftp服务器配置的全部流程以及配置过程中要注意的一些问题。 关键词:匿名用户虚拟用户权限 vsftpd pam认证 1 概述 linux下可用的ftp服务器软件比较多,vsftpd安全易用,很多著名的站点都在使用vsftpd作为其ftp服务器。本文以vsftpd为例,对基于linux的ftp服务器配置问题进行研究。 2 安装vsftpd服务组件 vsftpd所需组件包括:vsftpd*、pam*、db4*、db4-utils,可以使用rpm命令查看:【root @dns root】#rpm-qa | grep vsftpd vsftpd-1.1.3-8 【root @dns root】#rpm-qa | grep pam pam-0.75-48 pam_krb5-1.60-1 pam-smb-1.1.6-7 pam-devel-0.75-48 【root @dns root】#rpm-qa | grep db4 db4-4.0.14-20 db4-utils-4.0.14-20 db4-java-4.0.14-20 db4-devel-4.0.14-20 【root @dns root】# 以上便是配置ftp服务器所需所有组件,若发现个别没有装,则要在光盘中查找到装好。 3 创建并设置ftp站点的主目录 我们的vsftpd组件安装好后,系统自动会生成一个目录,/var/ftp/pub,这个是linux 系统中ftp站点的默认主目录,这里我们不用这个目录,我们自己为匿名用户和虚拟用户分别创建两个主目录如下: 【root @dns root】# mkdir /var/ftp/share 【root @dns root】#mkdir /var/ftp/soft 其中share作为匿名用户的主目录,只能读不能写,此处该目录文件夹我们为其设置权限为755,而soft目录作为虚拟用户访问的主目录,读写删除权限都要,我们为其设置权限777如下: 【root @dns root】#chmod 755 /var/ftp/share 【root @dns root】#chmod 777 /var/ftp/soft 4 创建虚拟用户 虚拟用户只能访问为其提供的ftp服务,不能像本地用户那样登录系统而访问系统的其他资源,因此我们一般架设ftp时都会使用虚拟用户而不是本地用户来访问服务器以确保整个服务器系统的安全。 4.1 建立虚拟用户数据库 使用vi命令建立一个文本文件vusers.txt,使用编辑命令编辑本文件,输入内容如下:【root @dns root】#vi /etc/vsftpd/vusers.txt mark 123

相关文档
相关文档 最新文档