Tuesday, April 13, 2010

theoretical linpack benchmarks

According to :
RZ - A Top500 (LINPACK) run on Windows


# nodes * #cores per node * GHz per core * 4 results per cycle


ex: 256 nodes * 8 cores per node * 3.0 GHz * 4 results per cycle

Monday, April 12, 2010

windows server 2003 中域的配置 - www.ITlin.com欢迎您! - 51CTO技术博客

windows server 2003 中域的配置 - www.ITlin.com欢迎您! - 51CTO技术博客

1. 什么是域?
将网络中多台计算机逻辑上组织到一起,进行集中管理,这种区别于工 作组的逻辑环境叫做域。
域是组织与存储资源的核心管理单元。
2. 如何实现域?
在一台计算机上,安装“活动目录”服务,这台计算机就成为了域控制器,域控制器(DC)和接受域控制器管理的计算机一起构成了域这 种环境。
3. 活动目录(AD)有哪些特点?
所谓目录,就是存储有关网络上对象信息的层次结构。活动目录提供了 存储网络上对象信息并使网络用户使用该数据的方法。
集中管理。
便捷的网络资源访问。用户一次登录就可访问整个网络资源,网络资源主要包含用户帐户、组、共享文件夹、打印机等。
可扩展性。存储资源信息的目录可以承受随着公司或组织的增长而一同扩展,允许从一个网络对象较少的小型网络环境发展成大型网络环境。
4. 安装活动目录需要具备哪 些条件?
安装者必须具有本地管理员权限。
操作系统版本必须满足条件(Windows Server 2003Web版外都满足。
本地磁盘至少有一个分区是NTFS文件系统。
TCP/IP设置(IP地址、子网掩码等)。
有相应的DNS服务器支持。
有足够的可用空间。
5. 安装活动目录服务时,哪 些文件夹必须安装在NTFS分区上?
数据库文件夹和日志文 件夹:默认安装在C:\WINDOWS\NTDS目录下。为了优化性能,可以将它们存放在不同的硬盘上,且可以不是NTFS分区。如果本计算机是域的第一台域控制器(DC),则SAM数据库就会升级到c:\windows\ntds\ntds.dit,本地帐户就变成域帐户了,也就是说,本地帐户就没有了。
共享系统卷文件夹:默 认安装位置是C:\WINDOWS\SYSVOL。此文件夹的存储位置必须是NTFS分区。SYSVOL文件夹在域建立完成后会被自动设置为共享,以让其它域控制器和客户端访问,文件夹中存放了各种组策略、脚本、域中公用文件的服务器副 本。
6. 为什么要在安装活动目录 的时候配置DNS服务器?
DNS服务器用于实现活动目录的定位功能及定位服务。通过DNS服务器可以使域内的计算机能够查找到域控制器的位置。如果网络上没有DNS服务器则无法正常安装活动目录。
7. 活动目录的物理和逻辑对 象包括哪些?逻辑对象之间的关系如何?
活动目录的物理对象包括:站点、域控制器。
活动目录的逻辑对象包括:OU、域、域树、域林。
OU是域内的容器,其作用用于模仿企业的组织结构。在OU中可以包含用户、组、各种资源以及子OU。域与其子域之间构成了域树,域树与域树之间构成了域林。
针对域建立了子域就有 了一个域树(如原有的域:abc.com,该域的子域:bj.abc.com),域的信任关系由此产生,并且默认是双向的可传递的信任关系。子域的名称是其本身名称与父域累加的结果。
域树之间可以构成域林(如原有的域abc.com,该域的其他域树:def.net),域林中的所有域树共享通用架构,并且林中的所有域之间可以进行信息交流。林中的域树之间也存在着隐含的双向信任关系。
8. 什么是站点?什么是域控 制器?
站点是一个或者多个IP子网的组合,这些子网通过高可靠性的快速链路 连接而尽可能使网络流量本地化。站点定义了域的登录与复制通信量。站点具有与局域网相类似的边界。组合网络上的子网时应该将具有快速、廉价与可靠网络连接 的子网组合在一起。即站点可以依靠网络带宽进行划分,最终站点的设计应该能够反应网络的结构。
域控制器是存储活动目录的服务器。每个域包括一个或者多个域控制 器。域控制器用于管理用户对网络的访问,如登录验证、访问目录与共享资源。所有的域中的域控制器都平等,在域中的任何修改可以被复制到其他的域控制器上。
9. 域的模式有哪几种?
Windows 2000混合模式:允许存在NT域控制器,所实现的功能最少,用于存在着NT域控制器的域;
Windows 2000纯模式:不允许存在NT域控制器,可兼容W2KW2K3的域控制器;
Windows server 2003模式:仅存在W2K3的域控制器,所实现的功能最多。
10. 域用户的帐户设置有什 么要求?
域用户帐户长度最长20个字符。帐户的密码中应该是大写字母、小写字 母、数字和特殊字符的组合。
域用户帐户在删除之后 因为SID不同而不能通过建立同名帐户恢复。
因此对于一段时期内不使用的帐号应 该禁用而不是删除。
帐户可以在不同的OU之间移动。
11. 本地用户帐户与域用户 帐户有什么区别?
本地用户帐户存储在本地计算机上,域用户帐户存储在域控制器上。
本地用户帐户只能登录到存储了本帐户的本地机上,域用户帐户可以在 所有加入到了域中的计算机上登录。
12. 什么是用户配置文件?
每一个登录到Windows操作系统的用户,都会有一个独立的桌面工作环 境,包括桌面、开始菜单、我的文档、以及其他指定的设置。这些信息通常都存储在操作系统所在的分区上的“Documents and Settins\username”文件夹里,这些文件就叫做用户配置文件。
用户对桌面、开始菜单等进行了修改 之后,这些修改会保存到相应的文件夹中,用户下次登录的时候,计算机使更改后的配置初始化用户环境。
13. 在域环境中,用户配置 文件的类型有哪几种?
本地用户配置文件:当用户A第一次登录到计算机时,系统会以“Documents and Settings\Default User”为模板创建一个配置文件,并存储在本地硬盘的“Documents and Settings\A”文件夹中。
漫游用户配置文件:将用户的配置文件存储在网络服务器上,每次用户登录时,由服务器上复制一份配置文件到本地并配置用户环境。用户对 本机工作环境所做的更改也会保存在网络服务器上。
强制用户配置文件:是一种漫游配置文件,与普通漫游配置文件的区别在于:用户对环境可以更改,但此更改不能保存到网络服务器上,即, 用户环境在每次登录的初始时,都是一样的。实现的方法是,把存储在网络服务器上的配置文件夹中的Ntuser.dat改名为Ntuser.man
临时用户配置文件:由于系统的故障导致用户配置文件加载失败时,系统会为用户建立一份临时配置文件,以保障用户登录。用户在使用临时 配置文件时,对工作环境做的修改不会被保存。
14. 如何实现域用户stu的漫游配置?
① 在域控制器(DC)上创建一个域用户帐户stu
② 在域成员计算机A上,用域用户帐户stu登录到域,则此时系统在计算机A上为用户stu创建了本地配置文件,并保存在“Documents and Settings\stu”文件夹中。
③ 在域控制器(DC)上准备一个存放漫游用户配置文件的网络存储路径。在域控制器上创建一个存放一 个或多个域用户漫游配置文件的文件夹doc,共享权限设为everyone完 全控制。在doc中用域帐户名stu创建一 个文件夹,里面存放域用户stu的漫游配置文件。
  ④ stu的本地配置文件复制到域 控制器的相应文件夹中。以域管理员的身份登录域成员计算机A,右键点“我的电脑”---à“属性”---à“高级”---à“用户配置文件”---à“设置”,在“储存在本机上的配置文件”下,选中stu的配置文件,然后单击“复制到”按钮,输入目标路径“\\域控制器的IP地址\doc\stu”,在“允许使用”下,单击“更改”,把域用户帐户stu添加进来,然后单击“确定”按钮。
  ⑤ 在域控制器上,设置域用户帐户stu的属性当中的“配置文件”选项卡。“配置文件的路径”为:“\\域控制器的IP地址\doc\stu”。
15. 用户主文件夹的作用是 什么?如何设置用户stu的主文件夹?
  其实质是,把域用户的工作文档等存放在一个网络位置,增强了安全 性。
具体的实现是:在域控制器上,设置域用户帐户stu的属性当中的“配置文件”选项卡,在“主文件 夹”下,选“连接”单选钮,然后选择一个分区的盘符,再填写用户主文件夹的网络路径,如“\\存放主文件夹的主机的计算机名或IP地址\file\stu”,其中file文件夹应设置成共享,共享权限为everyone完全控制。
域用户登录时,被登录的计算机上就多了一个分区,这个分区就是用户 主文件夹的一个网络映射。
16. 组的类型分为哪两类?
安全组:用于设置用户 的权限,也可用于电子邮件通讯。一般情况下,管理活动目录(AD)时使用的都是安全组。根据组的权限的作用范围,安全组分为本地组,全局组,通用组。
通讯组:只用于电子邮件通讯。
17. 各种组的作用范围是什 么?
组的影响范围实际上就是组的作用 域。作用域是下列三种之一:
域本地组:域本地组的成员可以来自 于任何域,但是只能够访问本域的资源;因此域本地组多用于向本域中的资源授权,并且授权时域本地组在自身域外不可见。
全局组:全局组的成员只来自于本 域,但其成员可以访问林中的任何域中的资源;全局组用于限制本域的用户对其他域的访问时的权限。
通用组:通用组的成员来自于任何 域,并且可以访问林中的任何资源。通用组的建立会带来大量的活动目录之间的复制流量。
18. 通用组和全局组的差别 有哪些?
创建时的差别。域功能级别是Windows 2000混合模式时,不能创建通用安全组。
查询性能的差别。通用组的成员身份在全局编录中,而全局组的成员身份存储在每个域中。所以,在多域环境下通用组成员登录或者查询速度较 快。
18. 各种域的模式和组的关 系如何?
Windows2000混合模式:支持Windows NT 4.0Windows 2000Windows Server 2003类型的域控制器;支持组的作用域:全局组、域本地组。
Windows 2000纯模式:支持Windows 2000Windows Server 2003类型的域控制器;支持组的作用域: 全局组、域本地组、通用组。
Windows Server 2003纯模式:支持Windows Server 2003类型的域控制器。支持组的作用域:全局组、域本地组、通用组。
19. 什么是OU?根据什么来设计OU
OU是活动目录中的对象,也是活动目录中的容器。在OU中可以包含用户、组等其它对象,也可以在OU中建立子OU
根据公司业务模式的不 同,常用的OU的设计方法有以下三种:基于部门的OU,基于地理位置的OU,基于对象类型的OU
在活动目录中,一般, 用OU对应于公司的部门。
20. 在域环境里,组中是否 可以包含组?
与工作组环境不同的是,在域环境中,组中可以包含其它的组。
21. OU委派功能的目的是什么?
管理员可以为适当的用户指派一定范围的管理任务,从而减轻管理员的 工作负担。
22. 如何对域中的组进行授 权?
微软建议用ADGLP规则进行跨域的授权。A表示帐户、G表示全局组、DL表示本地组、P表示赋权限。
在每个域中创建全局组,然后将有同 样访问要求的用户添加为成员;
为存在于另外一个域中的需要被访问 的资源创建域本地组;
添加需要访问资源的全局组到域本地 组;
向域本地组分配权限。

Windows 2003 Server 学习:本地、全局、通用组的区别-悟道的杀手-搜狐博客

Windows 2003 Server 学习:本地、全局、通用组的区别-悟道的杀手-搜狐博客

  • 通用组:组的成员情况,记录在全局目录GC中,非常适于林中跨域访问使用。集成了全局组和域本地组的长处。
  • 全局组:可以全局使用。即:可在本域和有信任关系的其它域中使用,体现的是全局性。MS建议的规则:基于组织结构、行政结构规划。
  • 域本地组:只能在本域的域控制器DC上使用。MS建议的规则:基于资源(夹、打印机……)规划。

在域的混合模式下,只能把全局组加入到域本地组,即AGDLP原则。注意:2000/03域的默认模式为:混合模式。则域本地组:只能在本域的域控 制器DC上使用。若域功能级别转成本机模式(或称2000纯模式),甚至03模式,域本地组可在全域范围内使用。

说明:全局组和域本地组的关系,非常类似于域用户帐号和本地帐号的关系。域用户帐号,可以全局使用,即在本域和其它关系的其它域中都可以使用,而本 地帐号只能在本地机上使用。

**AGDLP:指将域用户的账号(A)添加到全局组(G)中,将全局组添加到域本地组 (DL),然后给域本地组分配资源的权限(P)。

以上三种组别用来区分组的作用域,另外win2003还有2种组类型,即安全组和通讯 组。

  • 安全组用于将用户、计算机和其他组收集到可管理的单位中。为资源(文件共享、打印机等 等)指派权限时,管理员应将那些权限指派给安全组而非个别用户。权限可一次分配给这个组,而不是多次分配给单独的用户。使用组而不是单独的用户可简化网络 的维护和管理。
  • 通讯组只能用作电子邮件的通讯组。不能用于筛选组策略设置。通讯组无安全功能。

  任何时候,组都可以从安全组转换为通讯组,反之亦然,但仅限于域处于本机模式的情况下。域处于混合模式时不能转换组。下表总结了域模式对组的作 用

Friday, April 9, 2010

How to Run Linux Background Jobs

How to Run Linux Background Jobs

A task can usually be started and run as a background task by putting a '&' at the end of the command line.

If a task was started and is running in the foreground, it is still possible to move it to the background without cancelling it. To move a task from the foreground to the background perform the following steps:

  1. CTRL-Z (That is, while holding the CTRL key down, tap the 'z' key) This will suspend the current foreground job (task).
  2. Enter the job control command 'bg'
  3. Tap the 'Enter' key

The job is now running in the background.

Useful commands to see which jobs are still running is the 'jobs' or the 'ps ua' commands. If the 'jobs' command is used, a background jobs can be brought to the foreground with the command fg n where n is the job (not the PID) number.

20 Linux System Monitoring Tools Every SysAdmin Should Know

20 Linux System Monitoring Tools Every SysAdmin Should Know

Need to monitor Linux server performance? Try these built-in command and a few add-on tools. Most Linux distributions are equipped with tons of monitoring. These tools provide metrics which can be used to get information about system activities. You can use these tools to find the possible causes of a performance problem. The commands discussed below are some of the most basic commands when it comes to system analysis and debugging server issues such as:

  1. Finding out bottlenecks.
  2. Disk (storage) bottlenecks.
  3. CPU and memory bottlenecks.
  4. Network bottlenecks.


#1: top - Process Activity Command

The top program provides a dynamic real-time view of a running system i.e. actual process activity. By default, it displays the most CPU-intensive tasks running on the server and updates the list every five seconds.

Fig.01: Linux top command

Fig.01: Linux top command

Commonly Used Hot Keys

The top command provides several useful hot keys:

Hot Key Usage
t Displays summary information off and on.
m Displays memory information off and on.
A Sorts the display by top consumers of various system resources. Useful for quick identification of performance-hungry tasks on a system.
f Enters an interactive configuration screen for top. Helpful for setting up top for a specific task.
o Enables you to interactively select the ordering within top.
r Issues renice command.
k Issues kill command.
z Turn on or off color/mono


=> Related: How do I Find Out Linux CPU Utilization?

#2: vmstat - System Activity, Hardware and System Information

The command vmstat reports information about processes, memory, paging, block IO, traps, and cpu activity.
# vmstat 3
Sample Outputs:

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

r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 2540988 522188 5130400 0 0 2 32 4 2 4 1 96 0 0
1 0 0 2540988 522188 5130400 0 0 0 720 1199 665 1 0 99 0 0
0 0 0 2540956 522188 5130400 0 0 0 0 1151 1569 4 1 95 0 0
0 0 0 2540956 522188 5130500 0 0 0 6 1117 439 1 0 99 0 0
0 0 0 2540940 522188 5130512 0 0 0 536 1189 932 1 0 98 0 0
0 0 0 2538444 522188 5130588 0 0 0 0 1187 1417 4 1 96 0 0
0 0 0 2490060 522188 5130640 0 0 0 18 1253 1123 5 1 94 0 0

Display Memory Utilization Slabinfo

# vmstat -m

Get Information About Active / Inactive Memory Pages

# vmstat -a
=> Related: How do I find out Linux Resource utilization to detect system bottlenecks?

#3: w - Find Out Who Is Logged on And What They Are Doing

w command displays information about the users currently on the machine, and their processes.
# w username
# w vivek

Sample Outputs:

 17:58:47 up 5 days, 20:28,  2 users,  load average: 0.36, 0.26, 0.24

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.1.3.145 14:55 5.00s 0.04s 0.02s vim /etc/resolv.conf
root pts/1 10.1.3.145 17:43 0.00s 0.03s 0.00s w

#4: uptime - Tell How Long The System Has Been Running

The uptime command can be used to see how long the server has been running. The current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes.
# uptime
Output:

 18:02:41 up 41 days, 23:42,  1 user,  load average: 0.00, 0.00, 0.00

1 can be considered as optimal load value. The load can change from system to system. For a single CPU system 1 - 3 and SMP systems 6-10 load value might be acceptable.

#5: ps - Displays The Processes

ps command will report a snapshot of the current processes. To select all processes use the -A or -e option:
# ps -A
Sample Outputs:

  PID TTY          TIME CMD

1 ? 00:00:02 init
2 ? 00:00:02 migration/0
3 ? 00:00:01 ksoftirqd/0
4 ? 00:00:00 watchdog/0
5 ? 00:00:00 migration/1
6 ? 00:00:15 ksoftirqd/1
....
.....
4881 ? 00:53:28 java
4885 tty1 00:00:00 mingetty
4886 tty2 00:00:00 mingetty
4887 tty3 00:00:00 mingetty
4888 tty4 00:00:00 mingetty
4891 tty5 00:00:00 mingetty
4892 tty6 00:00:00 mingetty
4893 ttyS1 00:00:00 agetty
12853 ? 00:00:00 cifsoplockd
12854 ? 00:00:00 cifsdnotifyd
14231 ? 00:10:34 lighttpd
14232 ? 00:00:00 php-cgi
54981 pts/0 00:00:00 vim
55465 ? 00:00:00 php-cgi
55546 ? 00:00:00 bind9-snmp-stat
55704 pts/1 00:00:00 ps

ps is just like top but provides more information.

Show Long Format Output

# ps -Al
To turn on extra full mode (it will show command line arguments passed to process):
# ps -AlF

To See Threads ( LWP and NLWP)

# ps -AlFH

To See Threads After Processes

# ps -AlLm

Print All Process On The Server

# ps ax
# ps axu

Print A Process Tree

# ps -ejH
# ps axjf
# pstree

Print Security Information

# ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM

See Every Process Running As User Vivek

# ps -U vivek -u vivek u

Set Output In a User-Defined Format

# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan

Display Only The Process IDs of Lighttpd

# ps -C lighttpd -o pid=
OR
# pgrep lighttpd
OR
# pgrep -u vivek php-cgi

Display The Name of PID 55977

# ps -p 55977 -o comm=

Find Out The Top 10 Memory Consuming Process

# ps -auxf | sort -nr -k 4 | head -10

Find Out top 10 CPU Consuming Process

# ps -auxf | sort -nr -k 3 | head -10

#6: free - Memory Usage

The command free displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel.
# free
Sample Output:

            total       used       free     shared    buffers     cached

Mem: 12302896 9739664 2563232 0 523124 5154740
-/+ buffers/cache: 4061800 8241096
Swap: 1052248 0 1052248

=> Related: :

  1. Linux Find Out Virtual Memory PAGESIZE
  2. Linux Limit CPU Usage Per Process
  3. How much RAM does my Ubuntu / Fedora Linux desktop PC have?

#7: iostat - Average CPU Load, Disk Activity

The command iostat report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS).
# iostat
Sample Outputs:

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 	06/26/2009


avg-cpu: %user %nice %system %iowait %steal %idle
3.50 0.09 0.51 0.03 0.00 95.86

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 22.04 31.88 512.03 16193351 260102868
sda1 0.00 0.00 0.00 2166 180
sda2 22.04 31.87 512.03 16189010 260102688
sda3 0.00 0.00 0.00 1615 0

=> Related: : Linux Track NFS Directory / Disk I/O Stats

#8: sar - Collect and Report System Activity

The sar command is used to collect, report, and save system activity information. To see network counter, enter:
# sar -n DEV | more
To display the network counters from the 24th:
# sar -n DEV -f /var/log/sa/sa24 | more
You can also display real time usage using sar:
# sar 4 5
Sample Outputs:

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 		06/26/2009


06:45:12 PM CPU %user %nice %system %iowait %steal %idle
06:45:16 PM all 2.00 0.00 0.22 0.00 0.00 97.78
06:45:20 PM all 2.07 0.00 0.38 0.03 0.00 97.52
06:45:24 PM all 0.94 0.00 0.28 0.00 0.00 98.78
06:45:28 PM all 1.56 0.00 0.22 0.00 0.00 98.22
06:45:32 PM all 3.53 0.00 0.25 0.03 0.00 96.19
Average: all 2.02 0.00 0.27 0.01 0.00 97.70

=> Related: : How to collect Linux system utilization data into a file

#9: mpstat - Multiprocessor Usage

The mpstat command displays activities for each available processor, processor 0 being the first one. mpstat -P ALL to display average CPU utilization per processor:
# mpstat -P ALL
Sample Output:

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in)	 	06/26/2009


06:48:11 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s
06:48:11 PM all 3.50 0.09 0.34 0.03 0.01 0.17 0.00 95.86 1218.04
06:48:11 PM 0 3.44 0.08 0.31 0.02 0.00 0.12 0.00 96.04 1000.31
06:48:11 PM 1 3.10 0.08 0.32 0.09 0.02 0.11 0.00 96.28 34.93
06:48:11 PM 2 4.16 0.11 0.36 0.02 0.00 0.11 0.00 95.25 0.00
06:48:11 PM 3 3.77 0.11 0.38 0.03 0.01 0.24 0.00 95.46 44.80
06:48:11 PM 4 2.96 0.07 0.29 0.04 0.02 0.10 0.00 96.52 25.91
06:48:11 PM 5 3.26 0.08 0.28 0.03 0.01 0.10 0.00 96.23 14.98
06:48:11 PM 6 4.00 0.10 0.34 0.01 0.00 0.13 0.00 95.42 3.75
06:48:11 PM 7 3.30 0.11 0.39 0.03 0.01 0.46 0.00 95.69 76.89

=> Related: : Linux display each multiple SMP CPU processors utilization individually.

#10: pmap - Process Memory Usage

The command pmap report memory map of a process. Use this command to find out causes of memory bottlenecks.
# pmap -d PID
To display process memory information for pid # 47394, enter:
# pmap -d 47394
Sample Outputs:

47394:   /usr/bin/php-cgi

Address Kbytes Mode Offset Device Mapping
0000000000400000 2584 r-x-- 0000000000000000 008:00002 php-cgi
0000000000886000 140 rw--- 0000000000286000 008:00002 php-cgi
00000000008a9000 52 rw--- 00000000008a9000 000:00000 [ anon ]
0000000000aa8000 76 rw--- 00000000002a8000 008:00002 php-cgi
000000000f678000 1980 rw--- 000000000f678000 000:00000 [ anon ]
000000314a600000 112 r-x-- 0000000000000000 008:00002 ld-2.5.so
000000314a81b000 4 r---- 000000000001b000 008:00002 ld-2.5.so
000000314a81c000 4 rw--- 000000000001c000 008:00002 ld-2.5.so
000000314aa00000 1328 r-x-- 0000000000000000 008:00002 libc-2.5.so
000000314ab4c000 2048 ----- 000000000014c000 008:00002 libc-2.5.so
.....
......
..
00002af8d48fd000 4 rw--- 0000000000006000 008:00002 xsl.so
00002af8d490c000 40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so
00002af8d4916000 2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b15000 4 r---- 0000000000009000 008:00002 libnss_files-2.5.so
00002af8d4b16000 4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so
00002af8d4b17000 768000 rw-s- 0000000000000000 000:00009 zero (deleted)
00007fffc95fe000 84 rw--- 00007ffffffea000 000:00000 [ stack ]
ffffffffff600000 8192 ----- 0000000000000000 000:00000 [ anon ]
mapped: 933712K writeable/private: 4304K shared: 768000K

The last line is very important:

  • mapped: 933712K total amount of memory mapped to files
  • writeable/private: 4304K the amount of private address space
  • shared: 768000K the amount of address space this process is sharing with others

=> Related: : Linux find the memory used by a program / process using pmap command

#11 and #12: netstat and ss - Network Statistics

The command netstat displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. ss command is used to dump socket statistics. It allows showing information similar to netstat. See the following resources about ss and netstat commands:

#13: iptraf - Real-time Network Statistics

The iptraf command is interactive colorful IP LAN monitor. It is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others. It can provide the following info in easy to read format:

  • Network traffic statistics by TCP connection
  • IP traffic statistics by network interface
  • Network traffic statistics by protocol
  • Network traffic statistics by TCP/UDP port and by packet size
  • Network traffic statistics by Layer2 address
Fig.02: General interface statistics: IP traffic statistics by  network interface

Fig.02: General interface statistics: IP traffic statistics by network interface

Fig.03 Network traffic statistics by TCP connection

Fig.03 Network traffic statistics by TCP connection

#14: tcpdump - Detailed Network Traffic Analysis

The tcpdump is simple command that dump traffic on a network. However, you need good understanding of TCP/IP protocol to utilize this tool. For.e.g to display traffic info about DNS, enter:
# tcpdump -i eth1 'udp port 53'
To display all IPv4 HTTP packets to and from port 80, i.e. print only packets that contain data, not, for example, SYN and FIN packets and ACK-only packets, enter:
# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2))>>2)) != 0)'
To display all FTP session to 202.54.1.5, enter:
# tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'
To display all HTTP session to 192.168.1.5:
# tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'
Use wireshark to view detailed information about files, enter:
# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

#15: strace - System Calls

Trace system calls and signals. This is useful for debugging webserver and other server problems. See how to use to trace the process and see What it is doing.

#16: /Proc file system - Various Kernel Statistics

/proc file system provides detailed information about various hardware devices and other Linux kernel information. See Linux kernel /proc documentations for further details. Common /proc examples:
# cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts

17#: Nagios - Server And Network Monitoring

Nagios is a popular open source computer system and network monitoring application software. You can easily monitor all your hosts, network equipment and services. It can send alert when things go wrong and again when they get better. FAN is "Fully Automated Nagios". FAN goals are to provide a Nagios installation including most tools provided by the Nagios Community. FAN provides a CDRom image in the standard ISO format, making it easy to easilly install a Nagios server. Added to this, a wide bunch of tools are including to the distribution, in order to improve the user experience around Nagios.

18#: Cacti - Web-based Monitoring Tool

Cacti is a complete network graphing solution designed to harness the power of RRDTool's data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices. It can provide data about network, CPU, memory, logged in users, Apache, DNS servers and much more. See how to install and configure Cacti network graphing tool under CentOS / RHEL.

#19: KDE System Guard - Real-time Systems Reporting and Graphing

KSysguard is a network enabled task and system monitor application for KDE desktop. This tool can be run over ssh session. It provides lots of features such as a client/server architecture that enables monitoring of local and remote hosts. The graphical front end uses so-called sensors to retrieve the information it displays. A sensor can return simple values or more complex information like tables. For each type of information, one or more displays are provided. Displays are organized in worksheets that can be saved and loaded independently from each other. So, KSysguard is not only a simple task manager but also a very powerful tool to control large server farms.

Fig.05 KDE System Guard

Fig.05 KDE System Guard {Image credit: Wikipedia}

See the KSysguard handbook for detailed usage.

#20: Gnome System Monitor - Real-time Systems Reporting and Graphing

The System Monitor application enables you to display basic system information and monitor system processes, usage of system resources, and file systems. You can also use System Monitor to modify the behavior of your system. Although not as powerful as the KDE System Guard, it provides the basic information which may be useful for new users:

  • Displays various basic information about the computer's hardware and software.
  • Linux Kernel version
  • GNOME version
  • Hardware
  • Installed memory
  • Processors and speeds
  • System Status
  • Currently available disk space
  • Processes
  • Memory and swap space
  • Network usage
  • File Systems
  • Lists all mounted filesystems along with basic information about each.
Fig.06 The Gnome System Monitor application

Fig.06 The Gnome System Monitor application

Bounce: Additional Tools

A few more tools:

  • nmap - scan your server for open ports.
  • lsof - list open files, network connections and much more.
  • ntop web based tool - ntop is the best tool to see network usage in a way similar to what top command does for processes i.e. it is network traffic monitoring software. You can see network status, protocol wise distribution of traffic for UDP, TCP, DNS, HTTP and other protocols.
  • Conky - Another good monitoring tool for the X Window System. It is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail inboxes etc.
  • GKrellM - It can be used to monitor the status of CPUs, main memory, hard disks, network interfaces, local and remote mailboxes, and many other things.
  • vnstat - vnStat is a console-based network traffic monitor. It keeps a log of hourly, daily and monthly network traffic for the selected interface(s).
  • htop - htop is an enhanced version of top, the interactive process viewer, which can display the list of processes in a tree form.
  • mtr - mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool.

Did I miss something? Please add your favorite system motoring tool in the comments.


IOMeter:HDD banchmarks for single workstation

Ref: Operating Systems and Benchmarks - Part 5

# of Outstanding I/Os- IOMeter Loads

Tweaking the # of simultaneous outstanding requests affects the aggregate load the tested drive is under. A depth of 1 is an extremely linear load which, combined with a 100% random test such as our "Database" pattern, can basically serve as a test measuring average random access times. A depth of 1, however, is not representative of any real kind of access. A depth of 4, on the other hand, can represent the most rudimentary of operations such as, say, loading up Windows calculator. Using Win2k's perfmon.exe, we've noted in our usage spikes of 30-50 I/Os when loading applications. Spikes of greater than 100 I/Os occur in heavy disk access such as defragmenting a drive.

As a result, we've decided to subject each of our three access patterns to the following 5 loads:

Loads
Linear 1 Outstanding I/O
Very Light 4 Outstanding I/Os
Light 16 Outstanding I/Os
Moderate 64 Outstanding I/Os
Heavy 256 Outstanding I/Os


Other Miscellaneous Settings

Unless otherwise specified, an IOMeter trial runs until the user manually halts the operation. We've standardized on a 10 minute timer for each of our 15 tests (3 access patterns, each under 5 separate loads). We've implemented a 30 second "ramp-up" time where the patterns are run without counting towards the final scores to eliminate any idiosyncrasies that may occur within the first few seconds of testing.

We've found through extensive testing that IOMeter is a relatively impervious benchmark when it comes to external system variables. Aside from the obvious case of CPU utilization-related fields, IOMeter is an amazingly tolerant benchmark (thanks to its low-level nature) that yields numbers somewhat comparable between systems. StorageReview.com, of course, will officially treat the matter with white gloves- our testbed will always always remain consistent! We'll cringe less, however, when users compare their IOMeter results to ours. Another nice side effect of IOMeter's consistency is that no rebooting (and, since we're testing using the recommended method of accesses to an unpartitioned physical disk, no formatting!) is necessary.

StorageReview.com is using a beta version of IOMeter, build 1999.10.20, that includes extra facilities to run multiple trials. Combined with the fact that reboots are unnecessary, we've batched up a single test that runs all 15 trials in a neat, tidy, and unattended 2 hours, 37 minutes and 30 seconds. Results from this version are comparable with the current release.

IOMeter delivers multitudes of different test results. Many are different ways of saying the same thing. Others apply only to multiple-CPU/networked setups. Thus, we've chosen to distill our reported results to a select few:

Total I/Os Per Second- The most significant result, the total I/O count simply measures the average number of requests completed in a second. A request, of course, consists of actuator and rotational positioning followed by a block read or write- 8k in the Workstation/Database instances and anywhere from 0.5k to 64k in the case of the File Server Pattern.

Total MBs Per Second- Really just an extrapolation of Total I/Os per second, this entry measures the amount of data transferred. In the case of the Workstation and Database patterns, this # is simply the Total I/Os Per Second figure, multiplied by 8k per I/O, divided by 1024 (the quotient of a megabyte and a kilobyte). The File Server model is a tiny bit more complex due to its variable transfer size per I/O, but we're sure one gets the idea.

Average I/O Response Time- At the linear (1 outstanding I/O) level, this figure is simply another way to express Total I/Os Per Second. The Total I/Os figure, simply put, is 1000 milliseconds divided by the Average I/O Response Time. As the # of outstanding I/Os increases, however, things get a bit more complex. Average I/O Response Time increases, but not in a fashion linear to the increase in outstanding I/Os. This results from drive firmware optimizations, interface/bus optimizations, and optimizations in the disk access routines in Win2k itself.

CPU Utilization- In most cases, this figure by itself won't appear in our database. It's simply the raw percentage of CPU cycles used in completing requests. It's a very low figure for a 700 MHz processor. Then again, it's a low figure for a 266 MHz processor. At any rate, more useful is...

I/Os per % CPU Utilization- This is IOMeter's "CPU Effectiveness" result given a more intuitive moniker. It simply takes the Total I/Os Per Second result and divides it by CPU Utilization (which in most cases is less than 1%, hence the increase in the value). Comparisons between drives utilizing this figure are more valid than comparisons using the straight CPU Utilization figure.

When considered in the light of 15 separate cases (the three access patterns and five load levels), it's clear that we're going to be faced with a tremendous amount of data. To make the lives of our readers easier, we've created a database that attempts to address this pile of data in an intuitive and user-friendly fashion.