Linux性能度量标准

Linux性能度量标准,第1张

1) CPU使用率 :每个处理器的整体使用率。 如果在一段持续时间内CPU的使用率超过80%,则处理器可能有瓶颈 。

2) 用户进程消耗CPU的时间 :CPU花费在用户进程的百分比,包括nice time。较高值的user time通常是有利的,因为系统在执行实际的工作。

3) 内核 *** 作消耗CPU的时间 :CPU花费在内核 *** 作的百分比,包括IRQ和softirq时间。 较高和持续的system time值指出在网络和驱动程序堆栈中的瓶颈 。一个系统通常应保持花在内核 *** 作上的时间尽可能的少。

4) 等待: CPU花费在等待(由于一个I/O *** 作发生等待)上的时间总量,像是阻塞值。一个系统不应该花费太多时间等待(因为I/O *** 作)否则应该检查各自的I/O子系统性能。

5) CPU空闲时间: 系统空闲等待任务的CPU百分比。

6) Nice消耗CPU时间 :CPU花费在re-nicing进程(更改进程的执行顺序和优先级)上的时间百分比。

7) 平均负载 :load average不是一个百分比,而是以下总和的滚动平均值:

• 队列中等待处理的进程数。

• 等待不可中断任务被完成的进程数。

也就是说,TASK_RUNNING和TASK_UNINTERRUPTIBLE进程数的总和的平均值。如果进程请求CPU时间而被阻塞,load average会增加。另一方面,如果每个进程得到直接访问CPU的时间,它们没有在CPU周期丢失,则负载将减小。

8) 可运行的进程 :已经准备好执行的进程数。 在一段持续的时间内,这个值不应该超过物理处理器数量的10倍。否则处理器可能是瓶颈。

9) 阻塞的进程 :不被执行的进程数,因为要等待I/O *** 作结束。 阻塞的进程数能反映出是否有I/O瓶颈。

10) 上下文切换 :在系统上发生线程之间切换的数量。 大量上下文切换如果与大量中断相关,则可能是驱动程序或应用程序出现问题 。上下文切换通常是不利的,因为每一次上下文切换都会导致CPU缓存被刷新,但是有些上下文切换是必要的。

11) 中断 :中断包含硬中断与软中断。硬中断对系统性能有更加不利的影响。较高的中断值表明可能有软件瓶颈,可能是在内核中,也可能是一个驱动程序出现瓶颈。记住,中断还包括CPU时钟引起的中断。

1) 空闲内存 :对比大多数其他 *** 作系统,在Linux中不应该只关注空闲(free)内存的值。 Linux内核分配大部分未使用的内存作为文件系统缓存, 所以从已使用的(used)内存中减去缓冲(buffer)和缓存(cache)的内存数量,来确定(有效的)空闲(free)内存。

2) 使用的swap :已使用的swap空间的数量。swap空间的使用只能告诉你Linux管理内存真的有效。Swap In/Out 是一个识别内存瓶颈的可靠手段。 在一段持续的时间内每秒200到300以上的分页值,表明可能有内存瓶颈 。

3) 缓冲与缓存 :缓冲被分配作为文件系统和块设备缓存。

4) SIab :内核使用的内存数。注意内核的分页不能移出到磁盘。

5) 活跃与非活跃内存 :关于活跃使用的系统内存信息。非活跃内存可能是kswapd守护进程swap out 到磁盘的候选者。

1) I/O等待 :CPU等待一个I/O *** 作的发生所花费时间。较高和持续的值很多时候可能表明存在一个I/O瓶颈。

2) 平均队列长度 :未完成的I/O请求数量。一般情况下, 一个磁盘有2到3个队列是最佳的,较高的值可能表明有一个磁盘I/O瓶颈 。

3) 平均等待时间: 服务一个I/O请求所测量的平均时间,以毫秒为单位。等待时间是由实际的I/O *** 作和它在I/O队列中等待的时间组成的。

4) 每秒传输 :每秒钟多少个I/O *** 作被执行(读和写)。该指标要结合每秒kB值,以帮助确定系统的平均传输大小。 平均传输大小一般应该与你的磁盘子系统使用的条带大小相匹配。

5) 每秒读取/写入块的数量 :每秒读和写的块数,在26内核中块为1024B。早期的内核可能会报告不同的块大小,从512B到4KB。

6) 每秒读取/写入的字节 :从块设备读取和写入(读和写到块设备)的字节数,表示从块设备(到块设备)传输的实际数据量。

1) 接收和发送的数据包 :网络接口接收和发送数据包的数量。

2) 接收和发送的字节 :网络接口接收和发送的字节数。

3) 每秒钟的冲突数量 。

首先不同系统的ping给出的跳数是不一样的,比如你这里TS:下面给出了4跳,而我在我的linux上给出了9跳:

$ ping -T tsonly 10249641

PING 10249641 (10216411) 56(124) bytes of data

64 bytes from 10216411: icmp_req=1 ttl=248 time=231 ms

TS:  29437933 absolute

-15

18

-2

9

-7

74

9

64

Unrecorded hops: 10

再来看看第一个值29437933 ,这其实是你GMT,就是你运行ping里的格林尼治时间,我们来换算一下:

>>> 29437933/3600000

8

>>> 29437933/3600000

817720361111111

>>> (29437933-83600000)/60000

10632216666666666

>>> (29437933-83600000)

637933

>>> 637933-1060000

37933

>>> 37933/1000

37

所以就是GMT:8:10:37:933,希望能帮到你

Linux系统中Tracert命令用来显示数据包到达目标主机是所经过的路径。下面由我为大家整理了linux系统中tracert命令使用详解,希望对大家有帮助!

Linux系统中tracert命令使用详解

Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。

命令格式:

tracert IP地址或主机名 [-d][-h maximumhops][-j host_list] [-w timeout]

参数含义:

-d 不解析目标主机的名字;

-h maximum_hops 指定搜索到目标地址的最大跳跃数;

-j host_list 按照主机列表中的地址释放源路由;

-w timeout 指定超时时间间隔,程序默认的时间单位是毫秒。

linux系统中tracert命令用法

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

如果不使用参数,将显示连接情况,如图2-23所示。

提示:

图2-23显示的是从本地计算机到163这台服务器所经过的计算机。

● -d

指定不将地址解析为计算机名,如图2-24所示。

● -h maximum_hops

指定搜索目标的最大跃点数,如图2-25所示。

● -j computer-list

指定沿computer-list的稀疏源路由。

● -w timeout

每次应答等待timeout指定的微秒数,如图2-26所示。

补充:linux系统中tracert命令原理

tracert命令也称作路由跟踪命令,用于确定IP数据库包访问目标所采取的路径,通过IP生成时间(TTL)字段和ICMP错误信息来确定,从个网络到主机之间的网络状况。

tracert命令原理与ping命令为相似,都是通过向目标发送数据包,并通过数据包响应及丢失情况,从而判断本地与目标主机之间的网络状况,所不同的是tracert命令能够反映出网络中各个路由节点信息,以及网络状况,并且可以用以跟踪路由节点,以及监控服务器状况等作用。

Linux下的ping命令是一种常见的网络命令,它用于测试本地计算机与另一个IP地址之间的网络是否通畅,以及网络延迟情况。以下是Linux下ping命令的详细解释:

基本语法:ping [options] destination(ping [选项] 目标IP地址)

选项:

- -c <count>:发送指定数量的数据包,例如ping -c 5 19216801 将ping目标IP地址19216801 5次。

- -i <interval>:发送数据包之间的时间间隔,即ping的时间间隔。例如ping -i 1 19216801 将以1秒的间隔向19216801发送数据包。

- -v:显示ping的详细过程。

- -q:以安静模式运行,只显示摘要信息。

- -s <size>:指定要发送的数据包的大小,例如ping -s 1024 19216801 将发送1024个字节的数据包。

- -t <ttl>:指定生存时间值,它规定一个数据包经过路由器的数量,可用于测试时间戳或路由器的跃点数(要加root权限)。

输出解释:

- ttl: Time to Live(生存时间),指每个数据包存在的时间跨度,通过不断减少TTL来避免数据包永远在网络中循环。

- time:表示在指定延迟时间内到达目标计算机的回应时间,用毫秒表示。

- min/avg/max/mdev:分别代表最短延迟时间、平均延迟时间、最长延迟时间和延迟时间的标准差。

例如:ping -c 5 19216801的输出:

- 发送5个数据包到19216801

- 19216801的回复(ICMP回显请求),延迟时间为1毫秒

- 19216801的回复(ICMP回显请求),延迟时间为2毫秒

- 19216801的回复(ICMP回显请求),延迟时间为1毫秒

- 19216801的回复(ICMP回显请求),延迟时间为4毫秒

- 19216801的回复(ICMP回显请求),延迟时间为3毫秒

- 5个数据包已发送,5个数据包已接收到,丢失率为0%

- 延迟的统计信息: 最小延迟1ms,平均延迟2ms,最大延迟4ms,标准差为125

总之,ping命令是一种用于测试网络连接性和延迟的常用命令。选择合适的参数,能够对网络连接的稳定性做出较精确的测试,诊断问题。

1:DateDemo1类

[java] view plain copy

/

取得系统的时间

/

public class DateDemo1 {

public static void main(String args[]) {

Systemoutprintln(SystemcurrentTimeMillis());

}

输出为:1311060393171

执行结果会显示从1970年1月1日开始到取得系统时间为止所经过的毫秒数,例如1115346430703这个数字,但这样的数字没有人确切了解它的意 义是什么,您可以使用Date类别来让这个数字变的更有意义一些

2:DateDemo2类

[java] view plain copy

public class DateDemo2 {

@SuppressWarnings("deprecation")

public static void main(String args[]) {

Date date = new Date();

Systemoutprintln("datetoString: " + datetoString());

Systemoutprintln("date: " + dategetDate());

Systemoutprintln("day: " + dategetDay());

Systemoutprintln("hour: " + dategetHours());

Systemoutprintln("minutes: " + dategetMinutes());

Systemoutprintln("month: " + (dategetMonth() + 1));

Systemoutprintln("seconds: " + dategetSeconds());

Systemoutprintln("time: " + dategetTime());

Systemoutprintln("timezone: " + dategetTimezoneOffset());

Systemoutprintln("year: " + (dategetYear() + 1900));

Calendar calendar = CalendargetInstance();

int year = calendarget(CalendarYEAR);

int month = calendarget(CalendarMONTH) + 1;

int day = calendarget(CalendarDATE);

int hour = calendarget(CalendarHOUR);

int minute = calendarget(CalendarMINUTE);

int second = calendarget(CalendarSECOND);

Systemoutprintln("----------Calendar-------");

Systemoutprintln("year: " + year);

Systemoutprintln("month: " + month);

Systemoutprintln("day: " + day);

Systemoutprintln("hour: " + hour);

Systemoutprintln("minute: " + minute);

Systemoutprintln("second: " + second);

}

}

用date获得时间的值,如时、分、秒、月、日、年得方法已经过时,需要改用Calendar的方法来获取时间的值

输出结果为:

[java] view plain copy

datetoString: Tue Jul 19 15:32:42 CST 2011

date: 19

day: 2

hour: 15

minutes: 32

month: 7

seconds: 42

time: 1311060762362

timezone: -480

year: 2011

----------Calendar-------

year: 2011

month: 7

day: 19

hour: 3

minute: 32

second: 42

3:DateDemo3类

[java] view plain copy

public class DateDemo3 {

public static void main(String args[]) {

Date date = new Date();

/

DateFormat会依电脑上的区域设定显示时间格式,EE表示星期,MM表示月份、dd表示日期,而yyyy是西元,每个字元的设定都各有其意义

从Date-->String

/

DateFormat dateFormat = new SimpleDateFormat("EE-MM-dd-yyyy");

Systemoutprintln(dateFormatformat(date));

DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");

Systemoutprintln(format1format(date));

DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Systemoutprintln(format2format(date));

/

从String-->Date

/

String dateStr = "2011-7-19";

try {

Date dateTrans = format1parse(dateStr);

//Systemoutprintln(dateTranstoString());

Systemoutprintln(dateTranstoLocaleString()); //转换为本地的形式

} catch (ParseException e) {

eprintStackTrace();

}

}

}

使用DateFormat来格式化日期数据,上面部分为从Date-->String,下面的部分为从String-->Date

输出结果为:

[java] view plain copy

星期二-07-19-2011

2011-07-19

2011-07-19 15:33:27

2011-7-19 0:00:00

4:DateDemo4类

[java] view plain copy

public class DateDemo4 {

public static void main(String[] args) {

Date date = new Date();

DateFormat shortFormat = DateFormatgetDateTimeInstance(DateFormatSHORT, DateFormatSHORT);

DateFormat mediumFormat = DateFormatgetDateTimeInstance(DateFormatMEDIUM, DateFormatMEDIUM);

DateFormat longFormat = DateFormatgetDateTimeInstance(DateFormatLONG, DateFormatLONG);

DateFormat fullFormat = DateFormatgetDateTimeInstance(DateFormatFULL, DateFormatFULL);

Systemoutprintln(shortFormatformat(date));

Systemoutprintln(mediumFormatformat(date));

Systemoutprintln(longFormatformat(date));

Systemoutprintln(fullFormatformat(date));

}

}

输出结果为:

[java] view plain copy

11-7-19 下午3:33

2011-7-19 15:33:54

2011年7月19日 下午03时33分54秒

2011年7月19日 星期二 下午03时33分54秒 CST

5:DateDemo5类

[java] view plain copy

public class DateDemo5 {

public static void main(String args[]) {

Date date = new Date();

Locale locale = new Locale("en", "US");

DateFormat shortDateFormat = DateFormatgetDateInstance(DateFormatSHORT, locale);

DateFormat mediumDateFormat = DateFormatgetDateInstance(DateFormatMEDIUM, locale);

DateFormat longDateFormat = DateFormatgetDateInstance(DateFormatLONG, locale);

DateFormat fullDateFormat = DateFormatgetDateInstance(DateFormatFULL, locale);

Systemoutprintln(shortDateFormatformat(date));

Systemoutprintln(mediumDateFormatformat(date));

Systemoutprintln(longDateFormatformat(date));

Systemoutprintln(fullDateFormatformat(date));

}

}

输出结果为:

[java] view plain copy

7/19/11

Jul 19, 2011

July 19, 2011

Tuesday, July 19, 2011

以上就是关于Linux性能度量标准全部的内容,包括:Linux性能度量标准、Linux下Ping -T 返回的时间戳怎么看、Linux系统中tracert命令使用详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9532999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存