免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ibm6000
打印 上一主题 下一主题

aix之降龙18掌(欢迎跟贴,拒绝灌水) [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
21 [报告]
发表于 2003-07-30 09:33 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

原帖由 \"lljj\" 发表:\n降龙十八掌之\r\n飞龙在天:\r\n.........
  \r\n 十八掌?还差17掌,而且顺序也不对,第一招怎么是飞龙在天   \r\n\r\n如果一个目录里面的文件太多多得连用*通配符都无法表示了,又需要把他们全部干掉可以 \r\nls|xargs rm - \r\n干脆rm -r 删除目录,重新建立了\r\n\r\n每日一贴\r\n[ZT]\r\nJFS LOG的用途 \r\nJFS Log是循环使用的,用于记录文件系统的meta-data,包括超级块(Superblock), i-节点(i-nodes), 间接数据指针(indirect data pointers), 和目录(directories)。当文件系统的meta-data发生变化时,同样的动作会被记录到JFS LOG中,当sync(),和fsync()发生时,commit的动作同样被记录,来说明被修改的数据已经回写到硬盘。具体来看,以下的事件会被记录到JFS LOG中: \r\n1. 当一个文件被建立或删除 \r\n2. 当对以O_SYNC方式被打开的文件执行 write() 操作 \r\n3. 当fsync() 或 sync() 被调用 \r\n4. 当文件以 O_APPEND 方式被打开 \r\n5. 当写操作导致indirect 或double-indirect 块被使用 \r\n\r\nJFS LOG的大小 \r\n1、JFS LOG最大到256MB \r\n2、2MB JFS LOG可以支持大小为4GB的文件系统 \r\n3、1个100GB的文件系统未必一定需要50MB的JFS Log,还要取决于该文件系统的文件数量和修改的平凡程度。 \r\n\r\nJFS Log可能成为系统性能的瓶颈 \r\n多个文件系统可以使用同一个JFS LOG,但是,当对于非常繁忙的文件系统,应该建立其各自的JFS LOG,并且尽可能地将JFS LOG放在不同的PV上。另外,建议大家在一些复杂的环境中应该尽可能的在创建文件系统时避免使用系统自动创建的JFS LOG: loglvxx,应该专门将loglvxx按照命名规则改名或另行创建新的JFS LOG,这样可以避免在不同的系统中importvg时出现LV重名的情况。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
22 [报告]
发表于 2003-07-30 10:20 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

7133升级全系列\r\n1。下载代码:\r\nssa0 (SSA RAID卡) 433的是ssacode433.tar,5.1的是ssaucode.tar。\r\npdisk(D40物理盘) lscfg –vl pdisk*看\r\nMachine Type and Model......DFHCC1B1\r\n找到相应微码。\r\nenclosure0 (D40阵列)ssa_dasd4.tar\r\n分别存放在/usr/microupdates/ssa0,/usr/microupdates/pdisk,/usr/microupdates/enclosure0中。\r\n2.升级ssa0\r\nsmit install--install and update software--install and update from all available software--/usr/microupdate/ssa0--software to install中选全部包—commit\r\n在从机上重复上步,完成后双机重启,lscfg -vpl ssa0可见ROS level项已升级完成。 \r\n3.升级pdisk\r\nsmit install--install and update software--install and update from all available software--/usr/microupdate/pdisk--software to install中选全部包--commit完成后将在/etc/microcode中生成ssadisk.ros.DRVC.0023文件供下一步使用。\r\n在主机上执行ssadload -u后系统自动找到生成的文件并写微码到pdisk中。\r\n在从机上执行cfgmgr, 完成后用lscfg -vpl pdisk?可见ROS level项已升级完成。 \r\n4。升级enclosure0\r\nsmit install--install and update software--install and update from all available software--/usr/microupdate/enclosure0--software to install中选全部包--commit完成后将在/etc/microcode中生成coral020.hex文件供下一步使用。\r\n在主机上执行cd /etc/microcode\r\n在主机上执行ssa_sesdld -d enclosure0 -f coral020.hex\r\n在从机上执行cfgmgr, 完成后用lscfg -vpl enclosure0可见ROS level项已升级完成\r\n最新的是0020。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
23 [报告]
发表于 2003-07-30 10:21 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

bootinfo -y 处理器位数\r\nbootinfo -K 内核位数 \r\n1,        How to Switch AIX5.1 from 32-bit to 64-bit:\r\nln -sf /usr/lib/boot/unix_64 /unix\r\nln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix\r\nlslv -m hd5\r\nbosboot -ad /dev/ipldevice\r\nshutdown -Fr \r\n2,        How to Switch AIX5.1 from 64-bit to 32-bit:\r\nln -sf /usr/lib/boot/unix_mp /unix\r\nln -sf /usr/lib/boot/unix_mp /usr/lib/boot/unix\r\nlslv -m hd5\r\nbosboot -ad /dev/ipldevice\r\nshutdown -Fr \r\n\r\n确定系统是否加载了64位的内核扩展,使用命令:\r\n# genkex |grep 64\r\n若系统加载了64位的内核扩展,将返回类似下一行的信息:\r\n149bf58 a3ec /usr/lib/drivers/syscalls64.ext

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
24 [报告]
发表于 2003-07-30 10:23 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

编辑/etc/environment\r\n\r\nPS1=”$LOGNAMEPWD>;”

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
25 [报告]
发表于 2003-07-30 10:29 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

原帖由 \"meteor06\" 发表:\n LOG的用途 \r\n十八掌?还差17掌,而且顺序也不对,第一招怎么是飞龙在天  \r\n\r\n如果一个目录里面的文件太多多得连用*通配符都无法表示了,又需要把他们全部干掉可以 \r\nls|xargs rm - \r\n干脆rm -r 删除目录,重新建立了
\r\n我不是说了吗?你还可以做其他处理!不作rm,比如说你要touch每一个文件,怎麽办?\r\n\r\n降龙十八掌之:\r\n亢龙有悔!\r\n在新的机器上建立HA的时候大家可以很顺利做完!因为一般建立user、vg顺序都一样!(关键是同一个人做)但是有时候你需要在别人做好应用的机器上做HA,需要注意几点!\r\n1、user的uid、gid两边一致,否则抓过来看见file的权限是什么205之类的别怪我没提醒你!\r\n\r\n2、vg的MAJOR NUMBER号最好一致如果另一台机器vg建立的顺序不一样会导致冲突!\r\n\r\n3、对于有jfs的vg仔细检查是否有loglv00、loglv01、之类的fs、如果是这种系统默认的fs就好logform改掉,对于已经建立了的还要修改/etc/filesystem哦!否则抓不起来!这样如果有的备机上有loglv00、之类的jfsloglv就不会冲突了!\r\n\r\n4、对于有的存储比如说hds、xp-1024之类的,有的时候会importvg不进来,需要把pv=yes才行!记注没事不要pv=clear!如果是在clear了就这能recreatevg了!\r\n\r\n5、暂时想到这么多,明天的“龙战于野”我想说说在IBM主机上接非IBM存储的注意事项和经验!\r\n\r\n我运气先!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
26 [报告]
发表于 2003-07-30 10:48 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

[quote]原帖由 \"johnsons\"]各位大佬,大家不觉得这样的话,太乱了么?[/quote 发表:\n     \r\n下载之后,重新整理过,这任务交给您老人家,如何          \r\n\r\n偶重新编辑这贴,就不算灌水喽 ;)\r\n6000老大,johnsons  有2个水贴,可以删了,哈哈       \r\n\r\nerrpt 显示中TYPE的意义(这是偶问过的,谁答的记不清了 )\r\n错误类型(TYPE):\r\nPEND:设备很快就不能使用了\r\nPERF:设备的性能降低到不能接受的地步\r\nPERM:设备的错误不可恢复,此类型的错误表明此设备或驱动已完全损坏\r\nTEMP:设备出现的错误经过几次尝试后已恢复了\r\nUNKN:错误类型不能确定\r\nINFO:仅仅为一个信息

论坛徽章:
0
27 [报告]
发表于 2003-07-30 11:40 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

原帖由 \"johnsons\" 发表:\n    \r\n呵呵,亏你想得出这个。。
    \r\n\r\njohnsons也有上当的时候:)\r\n\r\n要启动安全 shell 脚本(一个避免被其父脚本欺骗的脚本),请输入: \r\n\r\nIFS=\'\r\n\'\r\n#       The preceding value should be <space>;<tab>;<newline>;.\r\n#       Set IFS to its default value\r\n\r\n\\unalias -a\r\n#       Unset all possible aliases.\r\n#       Note that unalias is escaped to prevent an alias\r\n#       being used for unalias.\r\n\r\nunset -f command\r\n#       Ensure command is not a user function.\r\n\r\nPATH=\"$(command -p getconf _CS_PATH)PATH\"\r\n#       Put on a reliable PATH prefix.\r\n\r\n# ...在此处,给出由 PATH 环境变量调用的目录的正确权限,该脚本具有确保其调用的任何命令都是计划的命令的能力。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
28 [报告]
发表于 2003-07-30 14:29 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

[ZT]\r\nAIX实战经验 \r\n本文出自:http://www.ibmusers.com/ 作者: (2001-08-13 15:00:00) \r\nIBM C V5.0 快速配置 \r\n\r\n将/usr/vac/cforaix_n.lic中的nodelock项拷贝到/var/ifor/nodelock文件中。 \r\n\r\n------------------------------------------------------------------------- \r\n\r\nAIX如何自动logout用户 \r\n\r\n有的用户登录后就长时间空闲,有可能导致安全上的问题。通过打开/etc/profile中 \r\n\r\nTMOUT注释,将自动在所设置的时间到达后,logout用户。 \r\n例如:export TMOUT=120 \r\n那么,用户两分钟没有击键,将自动logout。 \r\n\r\n------------------------------------------------------------------------- \r\n\r\n\r\n如何备份裸设备 \r\n\r\nAIX中mksysb和savevg都只备份mount的文件系统,如果想备份裸设备,可选择用dd命令,将 \r\n裸设备中的内容硬拷贝成文件。较完善的方法是选择成熟软件,如IBM的SYSBACK或 \r\nStorix Backup Administrator for AIX(该软件可从http://www.storix.net上下载) \r\n\r\n------------------------------------------------------------------------- \r\n\r\nAIX中,如何打印Xwindows下的屏幕 \r\n\r\n首先用xwd命令dump一个XWINDOWS屏幕,然后用xpr将其输出到打印机。 \r\n\r\n------------------------------------------------------------------------- \r\n\r\n\r\n如何实现两台UNIX之间的磁带拷贝 \r\n\r\n执行下列命令,利用网络实现磁带拷贝 \r\ntar cvfbX - . | compress | rsh AIXMACHINE \"uncompress | dd of=/dev/rmt0 obs=20b\" \r\n注意:两台UNIX网络设置应允许rsh工作正常! \r\n\r\n------------------------------------------------------------------------- \r\n\r\n\r\n将man文件转换成普通文本文件 \r\n\r\n正确的将man文件输出转成文本文件的方法是: \r\n$ man ls | col -b >; man.txt \r\n\r\n------------------------------------------------------------------------- \r\n\r\n\r\n如何在打印队列出现故障时发邮件通知管理员 \r\n\r\n#!/bin/ksh \r\nERR_Q=\"\"*** WARNING - Printer queue\" \r\nenq -AW | while read QUEUE DEVICE STATUS \r\ndo \r\nif [ $STATUS = \"DOWN\" ] \r\nthen \r\nERR_Q=\"${ERR_Q} ${QUEUE}\" \r\nfi \r\ndone \r\necho \"${ERR_Q} is down ***\" | mail operator \r\n\r\n------------------------------------------------------------------------- \r\n\r\n\r\n如何把一台RS/6000上的打印机设置原封不动移到另一台? \r\n\r\n不要想得太复杂,只需简单地把/etc/qconfig文件拷贝到目的RS/6000上的/etc目录下,qdaemon会自 \r\n动生成其他配置,如:把qconfig(ASCII文本)转换为qconfig.bin(二进制格式),这样即实现把一 \r\n台RS/6000上的打印机设置原封不动移到另一台上去。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
29 [报告]
发表于 2003-07-30 14:35 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

[ZT]\r\nAIX安装后的基本系统设置 \r\n----许多用户在*作系统安装完后,不对系统进行一些基本设置,而使用系统的缺省参数。由于系统的缺省参数值一般比较小,在以后的运行过程中会出现这样或那样一些本来很容易避免的问题。本文将介绍在AIX安装完后,有那些系统设置需要更改及一些推荐值。 \r\n1. AIX的软件包与补丁 \r\n----AIX*作系统安装时只安装一些基本的软件包(fileset),而有些软件包是用户经常用到的但没有被安装。建议用户在安装完AIX*作系统后再安装以下一些软件包。 \r\nbos.data* \r\nbos.net* \r\nbos.adt* \r\nbos.perf* \r\nperfagent.tools* \r\nbos.dosutil* \r\n----将AIX*作系统的第一张CD插入CD-ROM 驱动器,在系统提示处输入快速路径smitty install_all。在Input device / directory for software 选项中按F4 选择/dev/cd0。在SOFTWARE to install选项中键入[bos.adt*, bos.dosutil*, bos.data*, bos.net*, bos.perf*, perfagent.tools*] 安装上述软件包.成功后按F10 退出。 \r\n----在安装完上述软件包后,需要给系统打补丁。使用随AIX系统盘所带的Update CD或从IBM得到的最新的补丁盘。插入CD-ROM 驱动器,在系统提示处输入快速路径smitty update_all,在 Input device / directory for software 选项中按F4 选择/dev/cd0,将COMMIT software updates?选择 no ,将SAVE replaced files? 选择 yes 。服务更新完毕后按F10 退出。 \r\n----再打新的补丁时,请都是使用这种方法,这可以保证在新的补丁出现问题时,可以退回以前的版本。当此补丁稳定运行了一段时间后,可以commit它。 \r\n----注意:当*作系统增加了任何软件包后,都要按上述方法从重新打补丁。 \r\n----可用如下命令检查当前系统所打的补丁 \r\n# instfix -i | grep AIX_ML \r\nAll filesets for 4.3.1.0_AIX_ML were found. \r\nAll filesets for 4.3.2.0_AIX_ML were found. \r\nAll filesets for 4.3.1.0_AIX_ML were found. \r\nAll filesets for 4.3.2.0_AIX_ML were found. \r\nAll filesets for 4.3.3.0_AIX_ML were found. \r\nAll filesets for 4330-02_AIX_ML were found. \r\nAll filesets for 4320-02_AIX_ML were found. \r\nAll filesets for 4330-03_AIX_ML were found. \r\nAll filesets for 4330-04_AIX_ML were found. \r\nNot all filesets for 4330-05_AIX_ML were found. \r\nAll filesets for 4330-01_AIX_ML were found. \r\nNot all filesets for 4330-06_AIX_ML were found. \r\nNot all filesets for 4330-07_AIX_ML were found. \r\nNot all filesets for 4330-08_AIX_ML were found. \r\n此系统的补丁版本是ML_08 \r\n2. 设置文件系统 \r\n----AIX*作系统安装完后,会建立一些缺省得的文件系统,其中 ‘/’,‘/tmp’和‘ /var’文件系统对于整个系统的正常运行是至关重要的,因此要保证这三个文件系统有足够的剩余空间。可用如下命令对空间的使用情况进行查询。 \r\n# df -k \r\nFilesystem 1024-blocks Free %Used Iused %Iused Mounted on \r\n/dev/hd4 163840 144668 12% 1871 3% / \r\n/dev/hd2 1310720 60356 96% 37212 12% /usr \r\n/dev/hd9var 163840 140448 15% 310 1% /var \r\n/dev/hd3 163840 156920 5% 71 1% /tmp \r\n/dev/hd1 32768 31556 4% 42 1% /home \r\n/dev/dblv 4194304 4062604 4% 17 1% /db \r\n----应保证此三个文件系统的大小至少为128MB,每个文件系统有50%以上的剩余空间。在系统运行的过程中,也应该随时监视这三个文件系统剩余空间的大小。 \r\n3. 设置网络 \r\n----用以下命令检查所有网卡的ip地址配置: \r\n# ifconfig -a \r\nen0: flags=4e080863 \r\ninet 83.24.19.11 netmask 0xffffff00 broadcast 83.24.19.255 \r\nen1: flags=4e080863 \r\ninet 83.24.18.11 netmask 0xffffff00 broadcast 83.24.18.255 \r\nlo0: flags=e08084b \r\ninet 127.0.0.1 netmask 0xff000000 broadcast 127.255.255.255 \r\ninet6 ::1/0 \r\n----每块网卡应配置在不同网段。如果两块网卡配置在同一网段,会产生网络通信故障。 \r\n----用以下命令检查系统路由表: \r\n# netstat -r \r\nRouting tables \r\nDestination Gateway Flags Refs Use If PMTU Exp Groups \r\nRoute Tree for Protocol Family 2 (Internet): \r\ndefault 9.185.40.1 UGc 0 0 en1 - - \r\n9/8 r6f50 U 0 19 en0 - - \r\n9.185.40/22 r6_svc U 5 14893 en1 - - \r\n9.185.48/22 9.185.40.1 UGc 0 0 en1 - - \r\nbjcn.ibm.com 9.185.40.1 UGHW 1 9 en1 - - \r\n127/8 loopback U 0 1002 lo0 - - \r\nRoute Tree for Protocol Family 24 (Internet v6): \r\n::1 ::1 UH 0 0 lo0 16896 - \r\n----每块网卡都应有指向本地网段的路由。 \r\n----检查/etc/hosts文件: \r\n----检查/etc/hosts文件中的每一行,确保每一个ip地址只对应一个主机名,每一个主机名只对应一个ip地址。 \r\nAIX安装后的基本系统设置(二) \r\n撰稿者:徐 宁 \r\n4. 设置交换空间(paging space) \r\n----用以下命令察看交换空间的使用情况: \r\n# lsps -a \r\nPage Space Physical Volume Volume Group Size %Used Active Auto Type \r\npaging00 hdisk1 rootvg 2048MB 5 yes yes lv \r\nhd6 hdisk0 rootvg 2048MB 5 yes yes lv \r\n----缺省系统的交换空间只有一个hd6,而且比较小。设置交换空间的原则如下: \r\na. 创建数量尽可能多的交换空间。 \r\nb. 每个交换空间大小应相同。 \r\nc. 每个交换空间应分布在不同的硬盘上,不要将两个交换空间建在同一硬盘上。 \r\nd. 每个交换空间的使用率应小于40%。 \r\n----交换空间的大小与内存的大小和应用有关。当不知应用的内存使用情况时,可按以下原则设置。当内存小于2GB时,交换空间的大小应是内存的两倍,当内存小于8GB而大于2GB时,交换空间的大小应与内存大小相同。内存大于8GB时,交换空间的大小应是内存的一半。此设置为初始值,用户应随时监视交换空间的使用情况,而做出调整。 \r\n----注意:当交换空间100%占用时,系统将无法正常工作。 \r\n5. 配置用户 \r\n----缺省系统只允许2个非root用户登陆,用户可根据自己的需求增加用户数。 \r\n----# smitty \r\n-----System Environments \r\n------Change / Show Number of Licensed Users \r\n-------Maximum number of FIXED licenses [32] \r\n----改变每用户的最大进程数,有些应用软件需要单一用户启很多进程(如oracle数据库)。可按下述方法改变用户最大进程数。 \r\n----# smitty \r\n-----System Environments \r\n------Change / Show Characteristics of Operating System \r\n-------Maximum number of PROCESSES allowed per user [1200] \r\n6. SSA卡的设置 \r\n----对于使用SSA卡的用户,卡上的快写缓存可以极大的提高磁盘的I/O性能,用户应首先检查SSA卡上是否配置了快写缓存。 \r\n# lscfg -vl ssa0 \r\nDEVICE LOCATION DEs criptION \r\nssa0 11-08 IBM SSA 160 SerialRAID Adapter \r\n(14109100) \r\n----Part Number ........................................27H1204 \r\n----FRU Number .........................................34L5388 \r\n----Serial Number ......................................S1072088 \r\n----EC Level ...........................................E28793 \r\n----Manufacturer .......................................IBM053 \r\n----ROS Level and ID ...................................8300 0000 \r\n----Loadable Microcode Level ...........................05 \r\n----Device Driver Level ................................00 \r\n----Displayable Message ................................SSA-ADAPTER \r\n--* Device Specific.(Z0) ...............................SDRAM=128 \r\n--* Device Specific.(Z1) ...............................CACHE=32 \r\n----Device Specific.(Z2) ...............................UID=006094BF00003CDC \r\n----Device Specific.(YL) ...............................U0.1-P1-I1/Q1 \r\n----此卡配置了128MB的读缓存和32MB的快写缓存。 \r\n----如果配置了快写缓存,改变SSA磁盘的配置,使其使用快写缓存 \r\n----# smitty device \r\n-----SSA Disks \r\n------SSA Logical Disks \r\n-------Change/Show Characteristics of an SSA Logical Disk \r\n--------hdisk? Available 11-08-L SSA Logical Disk Drive \r\n---------Enable Fast-Write yes \r\n----如果\'Enable Fast-Write\' 是no,将其改为yes。 \r\n7. 改变aioserver的设置 \r\n----如果应用是数据库的应用,并且数据文件是建立在文件系统上,那么应改变aioserver的设置以提高I/O的性能。 \r\n----# smitty aio \r\n-----Change / Show Characteristics of Asynchronous I/O \r\n------MINIMUM number of servers----- [20] \r\n------MAXIMUM number of servers -----[60] \r\n----可用如下命令监视aioserver的数量,如果数量达到最大值,应提高MAXIMUM number of servers,对MINIMUM number of servers也作相应的改动。 \r\n----# pstat -a | grep aios | wc -l \r\n--------32 \r\n----当AIX安装完之后,可按上述方法对系统进行初步的设置,以后在系统的运行的过程中,可根据系统的运行状况进行调整,已以达到系统最佳的运行效果。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
30 [报告]
发表于 2003-07-30 14:51 |只看该作者

aix之降龙18掌(欢迎跟贴,拒绝灌水)

[ZT]\r\nRS/6000系统性能优化分析   \r\n计算机系统的性能优化是一个综合性较强的话题,它涉及对系统资源以及应用环境(如应用程序及网络环境)的分析。本文将就如何检测RS/6000系统性能,找出引起性能降低的资源瓶颈做一个简单介绍(注: 本文不涉及由应用程序或网络因素引起的资源瓶颈问题)。 \r\n所谓系统资源包括内存、CPU和输入/输出设备。通过使用以下命令,可以对RS/6000系统资源的负载情况有一个清楚的了解: \r\nvmstat \r\nsvmon \r\nps \r\ntprof \r\niostat \r\nnetpmon \r\nfilemon \r\n注: \r\n使用命令vmstat、iostat和sar之前需安装软件包 \r\n\r\nbos.acct \r\n使用命令ps需安装软件包 \r\n\r\nbos.rte.control \r\n使用命令tprof、svmon、netpmon和filemon之前,需要安装软件包 \r\n\r\nperfagent.tools \r\n我们可以从AIX系统盘的第一张光盘上寻找并安装上述软件包。 本文还将引用命令 vmtune 和 schedtune, 使用前需安装软件包 \r\n\r\nbos.adt.samples \r\n\r\n内存瓶颈 \r\n本节介绍以下几个用于检测系统的内存使用情况的命令,通过它们可以清楚地了解系统内存的使用及分配情况,确认内存资源是否存在瓶颈。 \r\n1. vmstat \r\nvmstat命令用于统计并显示核心线程、虚拟内存、硬盘、中断及CPU的使用情况。 \r\n运行命令 \r\n# vmstat 2 10 \r\n注: 当pi和po为连续非零值时,系统运行速度将会降低。 \r\npi 每秒钟从页空间(Paging Space)调入内存的页面数(4KB/page); \r\npo 每秒钟从内存调入页空间(Paging Space)的页面数; \r\n当进程请求的内存页面数大于内存中可用页面数时, 一些内存页会被换出内存, 存放于系统页空间(Paging Space)中, 以后使用时再调入内存。由于访问页空间中页面的速度远小于对内存页面的访问速度,所以频繁的换页会降低系统运行速度。 \r\n\r\n注: 当fr和sr的数值增大时,sample明内存负载增大。 \r\nfr 为填充内存空闲sample或分配给某进程所需要释放的内存页面; \r\nsr 为得到fr数量的空闲页面所需要检查的页面数; \r\nfr/sr比例为1:4sample明每释放一个内存页面需要检查四个页面。 \r\n当po*SYS>;fr(SYS为一系统参数,可用命令schedtune查看)时,系统自身认为已到崩溃边缘。SYS在有128MB或更多内存的系统上默认值为0, sample示禁止内存加载控制,否则默认值为6。系统崩溃sample明此时系统使用大量时间用于内存换入/换出,而没有足够时间处理应用或正常工作。这时一些进程将被临时挂起,系统运行明显减慢。 \r\n2. svmon \r\nsvmon命令统计并显示虚拟内存的使用情况。 \r\n以超级用户(root)身份运行命令 \r\n# svmon -Pau 10 | more \r\n输出如下: \r\nPid Command Inuse Pin Pgspace \r\n13794 dtwm 1603 1 449 \r\nPid: 13794 \r\nCommand: dtwm \r\n这条命令显示出使用内存最多的前十个进程,并针对每个进程给出了一个详细列sample(上sample为其中一个进程的描述信息)。在每个进程的列sample中,找出Type为\"work\"及Description为\"private\"的相应行,查看Pgspace显示的使用页面数(每个页面大小为4096字节),该数值为此段(segment)在虚拟内存空间中占用的工作页面(working pages)数,即占用的页空间中的页面数。如果Pgspace值持续增长,系统则有可能存在内存泄漏(memory leak)。当应用程序不能正常释放内存时会出现内存泄漏的问题。 \r\n上述命令格式及输出结果适用于AIX4.3.3之前的版本。在AIX4.3.3的系统上可运行命令 \r\nsvmon -Pu 10 | more \r\n其输出格式与上条命令基本相同,但字段\"gspace\"用\"gsp\"取代。 \r\n3. ps \r\nps命令显示当前运行的进程状态信息。 \r\n运行下列命令 \r\n#ps gv | head -n 1; ps gv | egrep -v \"RSS\" | sort +6b -7 -n -r \r\nSIZE 页空间中分配给该进程的Type为\"work\", Description为\"private\"的内存段大小(K字节 为单位)。该数值也可通过命令svmon显示。 \r\nRSS 进程当前占用的内存段(物理内存)大小(K字节为单位),包括Type为\"work\"和Description 为\"private\"的内存段及Type为\"pers\"和Description为\"code\"的内存段。该数值可通 过命令svmon显示。 \r\nTRS 进程常驻内存的正文段大小,包括Type为\"pers\"及Description为\"code\"的内存段。该 数值可通过命令svmon显示。 \r\n%MEM RSS占系统物理内存的百分比(%)。 \r\n如上所述,使用ps命令同样可以查看各进程的内存分配情况。 \r\nCPU 瓶颈 \r\n\r\n下面我们将就如何使用命令vmstat、tprof和ps检查系统是否存在CPU瓶颈做一个简单介绍。 \r\n1. vmstat \r\n使用命令 \r\n# vmstat 1 10 \r\n注: 运行队列有进程等待时系统运行速度会降低。 \r\nid CPU 空闲时间或无I/O等待时间的百分比; \r\nwa CPU I/O 等待时间的百分比; \r\nr 运行队列中的线程数; \r\n如果 id 和wa 的值持续为接近0的值,sample明CPU此时处于繁忙状态。 \r\n下面来看看字段r(运行队列中的线程数)。运行队列中等待的线程数越多,系统性能受到的影响越大。 \r\n2. tprof \r\ntprof命令用于统计每个进程的CPU使用情况。 \r\n以超级用户root的身份运行下列命令,可以找出进程占用的CPU时间: \r\n# tprof -x sleep 30 \r\n此命令运行30秒钟,在当前目录下创建一个名为_prof.all 的文件。30秒钟内, CPU被调度次数约为3000次。__prof.all 文件中的字段Total 为此进程调度到的CPU次数。如果进程所对应的 Total字 段的值为1500,sample示该进程在3000次 CPU调度中占用了1500次,或理解为使用了一半的CPU时间。tprof的输出准确地显示出哪个进程在使用CPU 时间。 \r\n__prof.all文件示例: \r\n3. netpmon \r\nnetpmon命令用于监控与网络有关的I/0及CPU的使用情况。 \r\n以root 身份运行下面的命令,可以找出进程使用的CPU时间,以及其中与网络有关的代码使用的CPU时间: \r\n# netpmon -o /tmp/netpmon.out -O cpu -v; sleep 30; trcstop \r\n此命令运行30 秒钟,并在/tmp目录下生成文件 netpmon.out。其中字段 CPU Time 为进程使用CPU \r\n的时间总值,CPU%对应其百分比,Network CPU% 为进程中与网络有关的代码所占用的CPU百分比。如下所示: \r\n输入输出(I/O)瓶颈 \r\n\r\n1. iostat \r\niostat命令用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量。 \r\n运行命令: \r\niostat 5 10 \r\n将显示10次统计结果,下面为其中一次的数据: \r\n其中 \r\n%iowait 等待本地 I/O 时CPU 空闲时间的百分比 \r\n%idle 未等待本地 I/O 时CPU 空闲时间的百分比 \r\n当没有需使用CPU的进程但至少有一个进程在等待I/O 时, CPU时间属性标为iowait。如果iowait 时间的百分比很高,sample示该磁盘输入输出(I/O)是导致系统运行速度缓慢的主要原因。 \r\n%tm_act 硬盘繁忙的百分比 \r\n注: tm_act的值很高,sample明硬盘存在I/O瓶颈。 \r\n当%tm_act(硬盘繁忙时间)很高时,可能会感觉到系统运行速度在减慢。有些系统上某个硬盘的%tm_act值为60%或更高时,系统性能就会受到影响。 \r\n两点建议: \r\n1. 观察繁忙与空闲的硬盘,将数据从忙的盘移至相对空闲的的盘上,这会在一定程度上减轻由此引起的I/O 瓶颈。 \r\n\r\n2. 依照上面\"内存瓶颈\"中介绍的方法检查内存换页的频繁程度。大量的换页操作会增加I/O负载。 \r\n2. filemon \r\nfilemon 命令用于查看哪些文件/逻辑卷/硬盘处于繁忙状态。在系统I/O 处于繁忙状态时运行下面的命令: \r\n# filemon -u -O all -o /tmp/fmon.out; sleep 30; trcstop \r\n30秒钟后会生成记录跟踪信息的文件 /tmp/fmon.out。从该文件中可以找出: \r\n1. 最为繁忙的虚拟内存段(segment)、逻辑卷和物理卷; \r\n2. 对页空间(paging space)的读写次数,确认硬盘I/O 是由于应用程序操作还是频繁的换页操作; \r\n3. 最为活跃的文件或逻辑卷,如果它们存放在繁忙的物理卷上,可以考虑将数据移至相对空闲 的硬盘上,这样有助于提高系统性能。最为繁忙的段的报sample里列示出最繁忙的文件所对应的文件系统和i节点。文件系统的安装点(mount point)及文件的i节点(inode)可与命令ncheck一起使用,来找出相对应的文件。这个报sample可用来判断该I/O操作是针对文件系统、JFS Log 还是系统页空间的。 \r\n通过检查字段\"reads\"和\"read sequences\"的值,可以判断该操作是顺序读取还是随机读取。当 \"read sequences\"接近\"reads\"时,对该文件的访问则以随机读取方式居多。(附录A为命令 filemon 的输出 示 例) \r\n结束语 \r\n在这里有一个极有用的工具值得给大家一提,就是RS/6000性能诊断工具包-Performance Toolbox, 一个用来检测系统性能的功能非常完善的软件包。其中包括基于X-Windows的图形 界面诊断工具 xmperf,用于实时检测系统资源的使用情况。(注:该软件包不在AIX操作系统光盘中提供。) \r\n我们在上面的文字中讨论了有关RS/6000系统的资源瓶颈问题,其中涉及到的系统命令的具体用法可以查找AIX联机命令手册。此外,一个系统的性能如何还与网络因素及应用程序有着密切的关系,分析这诸多因素的方法及工具还有很多,在此不做一一介绍了。希望大家在实际工作中逐步摸索,成为RS/6000系统性能分析专家 \r\n附录A (filemon 输出文件示例) \r\n--------------------------------------- \r\nThu Aug 19 11:30:49 1999 \r\nSystem: AIX texmex Node: 4 Machine: 000691854C00 \r\n0.369 secs in measured interval \r\nCpu utilization: 9.0% \r\nMost Active Files \r\n----------------------------------------------------------------------------- \r\n#MBs #opns #rds #wrs file volume:inode \r\n----------------------------------------------------------------------------- \r\n0.1 1 14 0 smit.log /dev/hd4:858 \r\n0.0 1 0 13 null \r\n0.0 2 4 0 ksh.cat /dev/hd2:16872 \r\n0.0 1 2 0 cmdtrace.cat /dev/hd2:16739 \r\nMost Active Segments \r\n------------------------------------------------------------------------------ \r\n#MBs #rpgs #wpgs segid segtype volume:inode \r\n------------------------------------------------------------------------------ \r\n0.1 13 0 5e93 ??? \r\n0.0 2 0 22ed ??? \r\n0.0 1 0 5c77 persistent \r\nMost Active Logical Volumes \r\n------------------------------------------------------------------------------ \r\nutil #rblk #wblk KB/s volume description \r\n------------------------------------------------------------------------------ \r\n0.06 112 0 151.9 /dev/hd4 / \r\n0.04 16 0 21.7 /dev/hd2 /usr \r\nMost Active Physical Volumes \r\n------------------------------------------------------------------------------ \r\nutil #rblk #wblk KB/s volume description \r\n------------------------------------------------------------------------------ \r\n0.10 128 0 173.6 /dev/hdisk0 N/A \r\n------------------------------------------------------------------------------ \r\nDetailed File Stats \r\n------------------------------------------------------------------------------ \r\nfile: /smit.log volume: /dev/hd4 (/) inode: 858 \r\nopens: 1 \r\ntotal bytes xfrd: 57344 \r\nreads: 14 (0 errs) \r\nread sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0 \r\nread times (msec): avg 1.709 min 0.002 max 19.996 sdev 5.092 \r\nfile: /dev/null \r\nopens: 1 \r\ntotal bytes xfrd: 50600 \r\nwrites: 13 (0 errs) \r\nwrite sizes (bytes): avg 3892.3 min 1448 max 4096 sdev 705.6 \r\nwrite times (msec): avg 0.007 min 0.003 max 0.022 sdev 0.006 \r\nfile: /usr/lib/nls/msg/en_US/ksh.cat volume: /dev/hd2 (/usr) inode: 16872 \r\nopens: 2 \r\ntotal bytes xfrd: 16384 \r\nreads: 4 (0 errs) \r\nread sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0 \r\nread times (msec): avg 0.042 min 0.015 max 0.070 sdev 0.025 \r\nlseeks: 10 \r\nfile: /usr/lib/nls/msg/en_US/cmdtrace.cat volume: /dev/hd2 (/usr) inode: \r\n16739 \r\nopens: 1 \r\ntotal bytes xfrd: 8192 \r\nreads: 2 (0 errs) \r\nread sizes (bytes): avg 4096.0 min 4096 max 4096 sdev 0.0 \r\nread times (msec): avg 0.062 min 0.049 max 0.075 sdev 0.013 \r\nlseeks: 8 \r\n------------------------------------------------------------------------------ \r\nDetailed VM Segment Stats (4096 byte pages) \r\n------------------------------------------------------------------------------ \r\nSEGMENT: 5e93 segtype: ??? \r\nsegment flags: \r\nreads: 13 (0 errs) \r\nread times (msec): avg 1.979 min 0.957 max 5.970 sdev 1.310 \r\nread sequences: 1 \r\nread seq. lengths: avg 13.0 min 13 max 13 sdev 0.0 \r\nSEGMENT: 22ed segtype: ??? \r\nsegment flags: inode \r\nreads: 2 (0 errs) \r\nread times (msec): avg 8.102 min 7.786 max 8.418 sdev 0.316 \r\nread sequences: 2 \r\nread seq. lengths: avg 1.0 min 1 max 1 sdev 0.0 \r\nSEGMENT: 5c77 segtype: persistent \r\nsegment flags: pers defer \r\nreads: 1 (0 errs) \r\nread times (msec): avg 13.810 min 13.810 max 13.810 sdev 0.000 \r\nread sequences: 1 \r\nread seq. lengths: avg 1.0 min 1 max 1 sdev 0.0 \r\n\r\n------------------------------------------------------------------------------ \r\nDetailed Logical Volume Stats (512 byte blocks) \r\n------------------------------------------------------------------------------ \r\nVOLUME: /dev/hd4 description: / \r\nreads: 5 (0 errs) \r\nread sizes (blks): avg 22.4 min 8 max 40 sdev 12.8 \r\nread times (msec): avg 4.847 min 0.938 max 13.792 sdev 4.819 \r\nread sequences: 3 \r\nread seq. lengths: avg 37.3 min 8 max 64 sdev 22.9 \r\nseeks: 3 (60.0%) \r\nseek dist (blks): init 6344, \r\navg 40.0 min 8 max 72 sdev 32.0 \r\ntime to next req(msec): avg 70.473 min 0.224 max 331.020 sdev 130.364 \r\nthroughput: 151.9 KB/sec \r\nutilization: 0.06 \r\n\r\nVOLUME: /dev/hd2 description: /usr \r\nreads: 2 (0 errs) \r\nread sizes (blks): avg 8.0 min 8 max 8 sdev 0.0 \r\nread times (msec): avg 8.078 min 7.769 max 8.387 sdev 0.309 \r\nread sequences: 2 \r\nread seq. lengths: avg 8.0 min 8 max 8 sdev 0.0 \r\nseeks: 2 (100.0%) \r\nseek dist (blks): init 608672, \r\navg 16.0 min 16 max 16 sdev 0.0 \r\ntime to next req(msec): avg 162.160 min 8.497 max 315.823 sdev 153.663 \r\nthroughput: 21.7 KB/sec \r\nutilization: 0.04 \r\n\r\n------------------------------------------------------------------------------ \r\nDetailed Physical Volume Stats (512 byte blocks) \r\n------------------------------------------------------------------------------ \r\nVOLUME: /dev/hdisk0 description: N/A \r\nreads: 7 (0 errs) \r\nread sizes (blks): avg 18.3 min 8 max 40 sdev 12.6 \r\nread times (msec): avg 5.723 min 0.905 max 20.448 sdev 6.567 \r\nread sequences: 5 \r\nread seq. lengths: avg 25.6 min 8 max 64 sdev 22.9 \r\nseeks: 5 (71.4%) \r\nseek dist (blks): init 4233888, \r\navg 171086.0 min 8 max 684248 sdev 296274.2 \r\nseek dist (%tot blks): \r\ninit 48.03665, \r\navg 1.94110 min 0.00009 max 7.76331 sdev 3.36145 \r\ntime to next req(msec): \r\navg 50.340 min 0.226 max 315.865 sdev 108.483 \r\nthroughput: 173.6 KB/sec \r\nutilization: 0.10
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP