Linux系统初始化及性能监控文档格式.docx
《Linux系统初始化及性能监控文档格式.docx》由会员分享,可在线阅读,更多相关《Linux系统初始化及性能监控文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
⏹hiddenmenu:
隐藏GRUB的启动菜单,为可选项,可以加“#”号将其注释。
⏹titleRedHatEnterpriseLinuxServer(2.6.18-92.e15xen):
表示引导系统名称,title之后的内容可以任意修改。
⏹root(hd0,0):
启动文件所在位置。
GRUB有它自己的root分区定义,它与Linux使用的命名约定不同,不管系统的硬盘驱动器是IDE还是SCSI,所有的硬盘驱动器都用字母hd开始,而fd用来指定3.5寸软盘,(hd0,0)表示是第一块硬盘第一个分区。
⏹kemel/xen.gz-2.6.18-92.e15:
指定内核位置并装载。
⏹module/vmlinuz-2.6.18-92.e15xenroroot=/dev/VolGroupOO/LogVol00thgbquiet:
指定引导操作系统时所要加载的内核文件和参数以及以只读的方式挂载系统分区。
⏹module/initrd-2.6.18-92.e15xen.img:
指定引导时的初始RAMDISK,它包含有启动时kernel所需的设备驱动模块。
2.应用实例
【例5-1】忘记超级用户密码的解决方法。
1)开机,如图5-1所示,按英文字母“e”后按<
Enter>
键。
图5-1GRUB引导菜单
2)如图5-2所示,选中此项后按英文字母“e”。
3)如图5-3所示,在后面输入空格后再输入“single”或者数字“1”,按<
4)系统返回至图5-2修改内核引导参数,按<
b>
引导系统启动,引导成功后,出现提示符:
图5-2修改内核引导参数
图5-3添加内核引导选项
sh-3.2#//出现“#”超级用户提示符
5)输入命令“passwd”,修改超级用户密码:
sh-3.2#passwd//根据系统提示修改超级用户密码
6)修改完毕后输入命令“reboot”重新启动即可。
3.修复或安装GRUB
在某些主机上,往往安装了Windows系统又安装了Linux系统,那么当系统出现故障并重新安装了Windows以后,就会出现找不到GRUB而导致Linux不能启动的情况,没有经验的用户往往会把Linux再安装一遍,这样浪费了时间又可能导致Linux的数据丢失,其实这种情况的处理比较简单,操作者只需要再把GRUB安装到主机上即可。
【例5-2】安装GRUB。
1)使用第一张光盘启动计算机,如图5-1安装提示选项所示,输入“linuxrescue”后按<
2)系统提示选择键盘布局与字符集,选默认值即可,在提示是否让系统查找硬盘上的RHEL系统时,选择“继续”。
3)出现“#”号提示符后,输入命令如下:
sh-3.2#chroot/mnUsysimage//根目录重定向
sh-3.2#fdisk-1//查看当前分区情况,确认硬盘标识
Disk/dev/hda:
80.0GB,80026361856bytes
255heads,63sectors/track,9729cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/hdal*19707791493+7HPFS/NTFS
/dev/hda2971972970356667+5Extended
/dev/hda5971291515623181bW95FAT32
/dev/hda6291641319767488+83Linux
/dev/hda7413255901171938683Linux
sh-3.2#grub-install/dev/hda//装grub到dev/hda分区
Installationfiniehed.Noerrorreported.//安装报告
Thisisthecontentsofthedevicemap/boot/grub/device.map.
Checkifthisiscorrectornot.Ifanyofthelinesisincorrect,
fixitandre-runthescript'
grub-install'
.
4)重新启动系统后,出现GRUB菜单,正常引导Linux系统。
注意:
如果系统有/boot分区,那么则需要使用以下命令来安装grub:
sh-3.2#grub-install--root-directory=/boot/dev/hda
2/sbin/init和运行级别
init是Linux系统操作中不可缺少的程序之一,是一个由内核启动的用户级进程。
内核启动时会被载入内存并初始化所有的设备和数据结构,同时init用来启动其他用户级的进程或服务,所以init始终是系统的第一个进程,其PID始终为1,是所有进程的父进程。
在启动时内核会查找/sbin/init,如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。
/etc/inittab是init被启动后调用的第一个程序,用来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等。
inittab部分代码如下:
#0-halt(DoNOTsetinitdefaulttothis)//关机模式
#1-Singleusermode//单用户模式
#2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)//无NFS多用户模式
#3-Fullmultiusermode//多用户字符网络服务模式
#4-unused//保留,未使用
#5-X11//图形模式
#6-reboot(DoNOTsetinitdeifaulttothis)//重启动模式
id:
5:
initdefault:
//系统默认的运行级别,当前为5,即表示开机后执行图形模式。
可手动修改
#Rungettysinstandardrunlevels
1:
2345:
respawn:
/sbin/mingettytty1//第1个虚拟控制台
2:
2345:
respawn:
/sbin/mingettytty2
6:
/shin/mingettytty6//第6个虚拟控制台,可以通过<
Ctrl+Alt+F6>
实
//(参看章节3.1部分),如果加上“#”注释掉,则
//不能从本虚拟控制台登录
在Linux系统中,每一个运行级别所要运行和关闭的服务都不同,比如在0级别(关机模式)下,系统不需要对外提供任何服务,只需要执行关闭所有进程程序和关机程序即可,而在3级别(多用户模式)与5级别(图形多用户模式)下,需要对外提供服务,那么则需要运行更多的服务程序。
执行命令:
[root@localhost~]#cd/etc/rc.d
[root@localhostrc.d]#Is
rc0.drcl.drc2.drc3,drc4.drc5.drc6.d
在执行结果中,可以看到有7个子目录,每个目录下均有许多“K”与“S”开头的服务,其中“K”开头的表示关闭相应的服务,“S”开头的表示启动相应的服务。
当切换至相应服务级别时,比如由某服务级别切换至5(图形模式)级别时,系统将自动停止rc5.d目录下的以“K”开头的服务进程,再开启以“S”开头的服务。
3实训:
运行级别设置与GRUB的应用
3.1实训1:
运行级别设置
一、实训目的
1)掌握系统默认级别的设置。
2)掌握服务级别的切换。
二、实训内容及步骤
1)修改/etc/inittab,将默认级别由5改为1。
2)重新启动计算机,查看启动后是否进入字符单用户模式且不询问用户密码自动登录。
3)切换至图形模式,执行命令:
[root@localhostrcl.d]#init5。
4)查看目录/etc/rc.d/rc0.d与/etc/rc.d/rc6.d,分析以“S”开头的服务项有何不同。
5)修改/etc/inittab配置文件,在4:
/sbin/mingettytty4行前加上“#”号,即将本行注释掉。
6)执行命令:
[root@localhostrcl.d]#initq或重新启动计算机。
7)按(Ctrl+Alt+F5)组合键,查看是否能换切至虚拟控制台tty5。
8)按(Ctrl+Alt+F4)组合键,查看是否能换切至虚拟控制台tty4。
3.2实训2:
GRUB的应用
一、实训目的
1)掌握GRUB配置项的应用。
2)掌握GRUB的加密。
3)掌握GRUB的修复与安装。
二、实训内容及步骤
1)编辑GRUB配置文件/boot/grub/grub.conf,将启动时间改为-1,重新启动计算机,查看效果。
2)编辑GRUB配置文件/boot/grub/grub.conf,将启动时间改为0,重新启动计算机,查看效果。
3)编辑GRUB引导菜单,练习遗忘超级用户密码的操作。
4)编辑GRUB配置文件/boot/grub/grub.conf,使系统默认启动Windows系统。
5)使用安装光盘重新安装GRUB。
6)GRUB的加密操作:
[root@localhostrcl.d]#grub-md5-crypt
Password:
//输入123456
Retypepassword:
//再次输入123456
$1$Mjjk//$n3uSVidrPvMeqoXUeDUddl//得到密文,每次密文均不相同
7)编辑GRUB配置文件/boot/grub/grub.conf,修改如下:
splashimage=(hdO,O)/grub/splash.xpm.gz
password--md5$l$Mjjk//$n3uSVidrPvMeqoXUeDUddl//本行为新添加内容,md5前为两个减号,后面为密文
titleRedHatEnterpriseLinuxServer(2.6.18-92.el5xen)
8)重新执行遗忘超级用户密码的操作,查看效果。
4系统监视器
系统资源和性能的监控主要涉及CPU使用、内存使用和磁盘的检测等。
1.利用proc文件系统查看系统内核信息
/proc不是一个真实目录,不占用任何磁盘空间,用户可以通过目录/proc下的文件得到系统的内核与运行信息,如下所示。
⏹/proc/cpuinfo文件:
处理器详细信息。
⏹/proc/modules文件:
系统当前加载模块信息。
⏹/proc/version文件:
当前系统版本信息。
⏹/proc/partitions文件:
系统分区信息。
2.who命令
1)功能:
who命令用于查看当前系统登录用户,系统中有哪些登录者、使用的终端、登录时间、CPU使用率、动作等。
2)基本格式:
who[选项]
3)常用选项及含义如下。
⏹-H:
显示各栏位的标题信息列。
⏹-u:
显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成“.”号,如果该用户已超过24小时没有任何动作,则标示出“old”字符串。
⏹-m:
此参数的效果和指定”ami”字符串相同。
⏹-q:
只显示登入系统的账号名称和总人数。
⏹-w:
显示用户的信息状态栏。
⏹--help:
在线帮助。
⏹--version:
显示版本信息。
⏹-a:
显示当前所有登录用户信息。
常用用法示例如下:
[root@localhost~]#who-a//查看当前所有登录用户信息
2009-04-2802:
08336id=siterm-Oexit=O
systemboot2009:
04-2802:
08
run-level52009-04-2802:
08last=S
LOCINtty32009-04-2802:
108839id=3
root+pts/12009-04-2802:
118955(10.2.220.120)
3.w命令
1)功能:
w命令用于查看系统登录信息。
w命令也用于显示登录到系统的用户信息,但是与who不同的是,w命令功能更加强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,并且统计数据相对who命令来说更加详细和科学,可以认为w命令就是who命令的一个增强版。
2)基本格式:
W[选项][用户名称]
3)常用选项及含义如下。
⏹-f:
开启或关闭显示用户从何处登入系统。
⏹-h:
不显示各栏位的标题信息列。
⏹-1:
使用详细格式列表,此为预设值。
⏹-s:
使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
忽略执行程序的名称,以及该程序耗费CPU时间的信息。
常用用法示例如下:
[root@localhost~]#w
14:
07:
07up15min,3users,loadaverage:
0.08,0.40,0.44
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
root:
0-13:
57?
xdm?
55.40s0.48s/usr/bin/gnome-session
rootpts/1:
0.014:
005:
310.20s0.20s/hin/bash
rootpts/210.2.220.25414:
050.00s0.20s.0.03sw
在显示信息中,第一行共有4个字段,分别表示如下。
⏹系统当前时间:
也就是执行w命令时的时间。
⏹系统启动后运行的时间:
up15min表示从开机到当前共运行了15min。
⏹当前登录系统的用户总数:
3user表示当前有若干用户登录此系统。
在Linux中,允许同一用户账号通过终端反复登录,故有时会见到重复的账号名。
⏹系统平均负载:
loadaverage:
0.08,0.40,0.44中的数据,表示系统在过去1、5、10min内的平均负载程度。
数值越接近0.00,表示系统负载越轻,性能更佳。
第二行共有8个字段,分别表示如下。
⏹USER:
登录的用户账号名。
如果同一个账号重复登录,则该账号会重复显示。
⏹TTY:
用户登录的终端代号。
登录的形式不同,终端代号也不相同。
⏹FROM:
从哪个终端登录。
如果是本地登录,则此字段为“-”;
若是远程登录,则显示远程主机的IP地址或者主机名;
如果是通过本地图形窗口登录,则显示“:
0.0”。
⏹LOGIN@:
就是LOGINAt的意思,表示该用户登录系统的时间。
⏹IDLE:
空闲计时器。
表示用户闲置的时间,一旦用户执行任何操作,该计时器便重置计时。
⏹JCPU:
终端相关进程计时器。
表示该终端所有的相关进程执行时所消耗的CPU时间,每当进程结束就停止计时,开始新的进程时则会重新计时。
⏹PCPU:
CPU执行程序消耗的时间。
⏹WHAT:
显示用户正在执行的程序的名称。
4.last命令
列出目前与过去登入系统的用户相关信息。
last[选项][帐号名称…][终端编号…]
把从何处登入系统的主机名称或IP地址,显示在最后一行。
⏹-d:
将IP地址转换成主机名称。
指定记录文档。
⏹-n:
配置列出名单的显示列数。
⏹-R:
不显示登入系统的主机名称或IP地址。
⏹-x:
显示系统关机,重新开机,连同执行等级的改变等信息。
[root@localhost~]#lastsoft//仅查看soft用户登录历史记录
softpts/210.5.220.220FriApr1706:
48-06:
48(00:
00)
softpts/210.5.220.220FriApr1706:
39-06:
39(00:
softpts/310.5.220.220ThuApr1622:
10-22:
14(00:
03)
softpts/310.5.220.220ThuApr1618:
57-18:
57(00:
5.free命令
查看内存使用情况。
free[选项]
⏹-b:
以字节为单位显示内存使用情况。
⏹-k:
以KB为单位显示内存使用情况。
以MB为单位显示内存使用情况。
⏹-g:
以GB为单位显示内存使用情况。
每隔多少秒显示一次内存使用情况。
⏹-t:
显示内存和SWAP的总和。
[root@localhost~]#free-m-s5//每隔5s报告内存使用情况,以MB为单位
totalusedfreesharedbufferscached
Mem:
4654392506322363
-/+buffers/cache:
151313
Swap:
102701027
46543925063223
151313
102701027
第一行信息中,共有6个字段,分别表示如下。
⏹total:
内存总数。
⏹used:
已经使用的内存数。
⏹free:
空闲的内存数。
⏹shared:
该参数当前已经废弃不用,其值总为0。
⏹buffers:
缓冲内存。
⏹cached:
页面缓存。
6.ps命令
查看系统中执行的进程。
ps[选项]
⏹-e:
显示所有进程和环境变量。
全格式显示。
不显示标题。
长格式显示。
宽格式输出。
⏹a:
显示终端上的所有进程,包括其他用户的进程。
⏹r:
只显示正在运行的进程。
⏹x:
显示没有控制终端的进程。
⏹u:
以用户为主的格式来显示进程。
【例5-3】查看系统当前进程。
[root@localhost~]#psaux
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
root10.00.12076640?
Ss02:
060:
01init[5]
root20.00.000?
S<
02:
00[migration/0]
root79050.00.270081056?
090:
00/usr/sbin/sshd
各列含义如下所示。
进程拥有者。
⏹PID:
进程号。
⏹%CPU:
占用的CPU使用率。
⏹%MEM:
占用内存使用率。
⏹VSZ:
进程全部调用至内存需要占用的虚拟内存大小。
⏹RSS:
真实占用的内存大小。
⏹TTY:
⏹STAT:
该进程的状态。
⏹START:
进程开始时间。
⏹TIME:
执行的时间。
⏹COMMAND:
所执行的指令。
【例5-4】查找SSH进程是否在运行。
[root@localhost~]#psaux丨grepssh