AIX 是否支持 ramdisk
环境 RS6000, AIX
问题 AIX 是否支持 ramdisk? 可否将内存当硬盘来使用,以提高访问速度。
解答 可以. AIX 操作系统支持ramdisk. 可使用mkramdisk命令来创建一个ramdisk. 其文件名为 /dev/rramdisk. 通过命令mkfs在其上建立文件系统来使用它. 用rmramdisk 命令或重新开机来删除ramdisk.
什么是 inline log
环境 产品, AIX
平台, RS6000, Pseries
问题 什么是 inline log
解答 在AIX5L 中可以为JFS2的文件系统创建一种新的日志类型。 这就是JFS2所特有的 inline log -- 日志与文件系统在同一逻辑卷上。
通过使用 inline log , 每个JFS2的文件系统可有独立日志设备,而不是整个卷组共享一个日志设备。 在文件系统数量较多的环境下,能够提高系统的RAS(Reliability Availability Serviceability)特性:在系统共享日志设备时, 日志设备的损坏会影响与之相关的所有文件系统。而使用inline log , 则不会出现此种情况。
创建JFS2文件系统时,缺省日志是放在共享的日志设备上, 将 "inline log ? "选项设为 "YES", 则建立了使用inline log 的JFS2 文件系统。
如何增加文件系统中的inode数目
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 用户需要生成新的文件时,系统报告空间不够,但df -k输出显示空间使用为43%
解答 问题产生原因是由于客户有很多几百k的小文件,将所有的文件系统inode用尽。
解决方案
find / -size 0 -print 删除不必要的0字节文件
增加文件系统大小(鉴于客户的%used是43%,这样会浪费很多空间,不建议使用)
备份文件,重建文件系统,其中参数NBPI(number of bytes per inode)要尽量
小,这样就能在同样大小���文件系统中获得更多的inode
备注:
文件系统中inode的多少由文件系统大小和NBPI(number of bytes per inode)决定
文件系统越大,NBPI越小,那么inode越多,意味能产生的文件和目录越多。
什么是X-window
环境 产品, RS6000
平台, UNIX
问题 什么是X-window
解答 X-window 是UNIX中功能强大的图形用户接口(GUI),是基于客户-服务器的一种应用技术. 表现为应用可运行在一个功能强大,易与维护的服务器上,而屏幕的输出则显示在另一个工作站上. X-window 技术包括两个成员: X-server 和 Window Manager. X-server 控制图像和窗口的显示, 跟踪鼠标和键盘的操作.一个X-server可控制多个窗口.Window Manager 则用于显示窗口的菜单和边界,提供窗口的移动,转换,最大,最小化操作.
如何为调试应用程序性能 定制系统内存环境
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 用户需要为调试应用程序在不同的内存配置下的性能。
解答 操作系统提供了这样的应用来满足客户的需求。
rmss -c memsize (设置需要调试的内存)
rmss -p 显示当前的内存配置
rmss -r 重新恢复至系统的实际内存大小
举例:
#rmss -p
Simulated memory size is 512 Mb.
#rmss -c 128
Simulated memory size changed to 128 Mb.
#svmon -G
size inuse free pin virtual stolen
memory 131061 121681 9380 9417 31604 95584
pg space 264192 17306
其中stolen的内存就是512Mb和128Mb的差。
当在128Mb内存下调试完程序后,恢复系统实际内存大小。
#rmss -r
#svmon -G
size inuse free pin virtual
memory 131061 26245 104816 9417 31604
pg space 264192 17306
free的内存已经恢复如初。
关于AIX 4.3.3的内核问题。
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 1.我目前的操作系统运行在多少位的内核上?
2.我目前的机器能支持64bit应用吗?
解答 bootinfo -K
32 操作系统运行在32位内核
64 操作系统运行在64位内核
bootinfo -y
64 你的机器可以支持64位和32位应用
32 你的机器只支持32位应用
备注:
当bootinfo -K为32,bootinfo -y为64时,可以通过smit激活对64位应用的支持
SMIT
System Environments
Change / Show Characteristics of Operating System
如何在AIX上实现象doskey一样的功能
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 客户需要实现类似doskey一样的功能
解答 在AIX操作系统中可以利用 set -o vi来实现类似功能。
当用户想重复上一个很长的命令时,只需按ESC+k就行,再按k就上滚一条命令,
而按j就可以后滚一条命令,然后回车就可以完成了。更好的是,你可以利用类似
使用vi的方法来编辑你所看到的命令,来达到随意调整的目的。
只一条简单的命令,就节约了宝贵的时间。需要时可以把set -o vi加入到.profile中。
另一种让vi编辑超大文本文件的方法
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 vi缺省能编辑的最大文件不能超过1,048,560行
解答 在用户目录下生成文件.exrc其中写入
set linelimit=xx000000
这样,就不用每回启动vi时都敲入vi -y xx000000
如何修改终端的属性以适应特殊需要
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 客户有一个自己开发的应用,其中需要对ctrl+y的响应,来完成特定功能。
但当客户实现时,却发现一按ctrl+y程序就退出了。
解答 客户使用的是telnet终端,其中需要对pty的属性进行修改。
#smit pty
Change / Show Characteristics of the PTY
STATE to be configured at boot time ---------------available -----+
Maximum number of Pseudo-Terminals ---------[256]---------------- #
Maximum number of BSD Pseudo-Terminals -----[16]
其中并没有象tty一样的许多选项:
#smit tty
POSIX special control characters:
INTERRUPT character ------------------------[^c]
QUIT character -----------------------------[^\]
ERASE character ----------------------------[^h]
KILL character -----------------------------[^u]
END OF FILE character ----------------------[^d]
END OF LINE character ----------------------[^@]
2nd END OF LINE character ------------------[^?]
DELAY SUSPEND PROCESS character ------------[^y]
SUSPEND PROCESS character ------------------[^z]
LITERAL NEXT character ---------------------[^v]
START character ----------------------------[^q]
解决办法:
将suspend process character ^y变成其他不需要的特殊按键
如:
#stty dsusp ^@
#stty -a
speed 9600 baud; 24 rows; 80 columns;
eucw 1:1:0:0, scrw 1:1:0:0:
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = ^@
eol2 = ^@; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^@; reprint = ^R
discard = ^O; werase = ^W; lnext = ^V
-parenb -parodd cs8 -cstopb hupcl cread -clocal -parext
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc
-ixon -ixany -ixoff imaxbel
isig icanon -xcase echo echoe echok -echonl -noflsh
-tostop echoctl -echoprt echoke -flusho -pending iexten
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tab3
这样当客户的应用再按ctrl+y时,程序就不会异常退出了。
如何利用grep的一些高级选项更好地管理系统
环境 产品: AIX
平台: RS
软件版本: AIX V4
问题 如何利用grep的一些高级选项更好地管理系统
解答 较下面两个命令的输出,我们不难发现grep -p的优秀功能。
它不止把我们要找的关键字的当前行列出来,还列出了相关信息。
#lscfg -vp|grep cpu
Device Type: cpu
Device Type: cpu
#lscfg -vp|grep -p cpu
Name: PowerPC,604
Node: PowerPC,604@0
Device Type: cpu
Physical Location: P1-C1
Name: PowerPC,604
Node: PowerPC,604@1
Device Type: cpu
Physical Location: P1-C1
另一个非常实用的功能grep -i
#lslpp -l|grep xlc
none
#lslpp -l|grep -i xlc
xlC.aix43.rte 4.0.2.1 COMMITTED C Set ++ Runtime for AIX 4.3
xlC.cpp 4.3.0.1 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.cpp 4.3.0.1 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.rte 4.0.2.0 COMMITTED C Set ++ Runtime
xlC.msg.zh_CN.rte 4.0.2.0 COMMITTED C Set ++ Runtime
xlC.rte COMMITTED 4.0.2.0 COMMITTED C Set ++ Runtime
这样,我们就不用再死记硬背很多大小写的内容,提高工作效率。
相信grep还有很多强大的功能等待我们去应用。
AIX 与 LINUX 的结盟
内容
提要 本文将就AIX Affinity with Linux的发展以及在AIX操作系统下如何进行Linux的开发和如何将自由开发的Linux应用移植到AIX操作系统做介绍,目的是让更多的朋友在AIX系统平台上使用Linux, 并同时感受到AIX操作系统在整体性能上的魅力。我们期待着有更多更好的Linux应用被移植到AIX操作平台,使AIX操作系统更加丰富多彩,让我们工作得更轻松自如。
第一部分 AIX Affinity with Linux 的发展情况
��二部分 AIX Affinity 的其本原理介绍
第三部分 AIX Toolbox for Linux 最新版的获得、安装、包含工具和基本使用
第四部分 对开发的建议
说明 任何机型,操作系统 AIX 4.3.3 or AIX 5L
正文
第一部分 AIX Affinity with Linux 的发展情况
IBM对AIX Affinity with Linux的发展分为以下两个阶段。
第一个阶段,发布AIX Toolbox for Linux Applications, 它主要包含GNU和其他一些常用开发工具,来帮助开发人员在AIX系统上编译程序,并在两种行业内开放性最好的操作系统平台,即AIX和Linux之间,进行平滑技术移植。由于应用程序运行于AIX环境中,因此客户可以同时得到Linux的灵活性和AIX操作系统的先进性能,包括工作负载管理、先进系统管理工具以及高安全性。
第二个阶段是,在最新发布的AIX 5L Version 5.1 操作系统中提供更多的兼容Linux的API和头文件,来支持源文件的兼容性,使两个不同操作系统有更强的互操作性,从而达到更高程度的兼容。
那么我们能用AIX Affinity for Linux做什么呢?
1。在AIX系统上使用众多Linux上开发的自由软件,例如,运行流行的 Gnome
and KDE 图形桌面,运行其他的多媒体工具,等等。
2。用功能强大的RedHat Package Manager包工具管理应用。
3。在AIX 系统上,使用GNU和Linux开发工具进行新应用的开发。
第二部分 AIX Affinity 的其本原理介绍
AIX Affinity with Linux的目的并不是在系统中提供一个模拟层供Linux应用来运行,它的意义在于通过重新编译Linux应用后,得到AIX的兼容的二进制本地代码,并能使用所有系统的特性,如可靠性、扩展性、以及可用性。这就是说,我们提供了一个强大的跨平台编译器以及众多的兼容API来保证Linux应用在AIX系统上的成功移植。
由于AIX的设计开发从网络、主机��件系统,到操作系统完全遵守开放系统的原则,所以在目前的AIX 4.3.3 和 AIX 5L Version 5.0, 使用AIX Toolbox for Linux,只需通过简单的编译就能在AIX平台上实现Linux的很多应用。这样,我们就不用浪费许多人力、物力去重新开发很多已经很成熟的应用。我们不断地重用经典代码,就可以把我们有限的精力投入到更精彩、更需要的地方。 当使用AIX Affinity with Linux时,我们还会想到的它对性能的影响。AIX Affinity with Linux在设计阶段,就希望提供最优化的性能给应用,其中包括让Linux应用和本地应用享有同样访问资源的权利。尤其是AIX 5L Version 5.1操作系统,会提供更高级别的应用与操作系统间的兼容性。当我们考虑性能时,还应该想到我们要开发什么样的应用,前端的还是后台的。后台的大型应用还是比较适合AIX应用,但前端的人机界面用Linux则更能发挥其特长,也减少了可能的性能影响。
第三部分 AIX Toolbox for Linux 最新版的获得、安装和基本使用
许多GNU开发工具已经被移植到AIX 4.3.3 和 AIX 5L Version 5.0,而界在新的AIX 5L Verison 5.1 操作系统中有更多的开发工具被成功移植。
其中包括(并非全部):
应用开发类:gcc, g++, gdb, rpm, cvs, automake, autoconf, libtool
开发库:ncurses, readline, libtiff, libpng, libjpeg, slang, fnlib,
db, gtk+, qt
编程语言:guile, python, tcl/tk, rep-gtk
桌面环境类:Gnome and KDE
GNU 工具:gawk, m4, indent, sed, tar, diffutils, fileutils
系统Shell:bash2, tcsh, zsh
系统工具:emacs, vim, bzip2, gzip, git, elm, ncftp, rsync, wget,
lsof, less, samba, zip, unzip, zoo
图形应用:ImageMagick, transfig, xfig, xpdf, ghostscript, gv,
mpage,Gimp
这些工具为Linux开发者提供了非常棒的开发环境。值得一提的是,他们绝大多数使用了易于安装的文件格式,这就是RedHat发展的rpm包。它的主要作用就是架起了一座通畅的桥梁,把AIX和Linux两个不同的操作系统紧密地联合起来,发掘它们更大的潜力。
AIX Toolbox for Linux 的下载网址:
http://www-1.ibm.com/servers/aix/products/aixos/linux/download.html
此网页上有众多大家梦寐以求的工具等大家来使用。
前面已经提到过,我们是要用RedHat Package Manager(RPM)来管理应用,所以我们必须首先要安装RedHat Package Manager。
RedHat Package Manager从下面连接下载:
ftp://ftp.software.ibm.com/aix/freeSoftware/ aixtoolbox/INSTALLP/ppc/rpm.rte安装时,以root用户登录,运行installp -qacXgd rpm.rte rpm.rte安装过程会收集共享链接库的信息,将会持续几分钟。要耐心等候,不要中断。如果发生错误没有装完,那么在下次安装之前,记得要运行installp -C去清除上回不完全安装。(我在一台F50,4.3.3上共用时10min35sec.)
RedHat Package Manager安装完后,就可以安装其他 AIX Toolbox for Linux
基本使用和Linux上一样,详细使用及相关信息,可以到www.rpm.org上查看。
简单参数如下,
-i: install
-e: erase
-q: query
--help help
举例:要安装gcc 2.9,那么先到
http://www-1.ibm.com/servers/aix/products/aixos/linux/download.html
下载rpm包 gcc-2.9.aix43.010216-1.aix4.3.ppc.rpm
上传到机器后,运行rpm -ivh gcc-2.9.aix43.010216-1.aix4.3.ppc.rpm
其中参数v是要在安装过程中显示详细信息。
其中参数h是要在安装过程中显示安装进度。
一分钟过后,就已经可以享受gcc 2.9的强大功能了。
其余的就不用我赘述了,大家各自体会吧。
第四部分 对开发的建议
1。由于AIX是符合POSIX标准和UNIX98认证的,但Linux却没有通过认证,所以
我们要尽量在开发过程中使用标准的API,那么应用只要使用GCC,G++��编译器重新编译就可以在AIX中使用了。非常重要的是,检查哪些API是只被Linux支持,但却不被AIX支持,这样可以避免不必要的麻烦。
2。由于AIX 5L是同时支持 Power系列 CPU和 Itanium CPU, 所以我们在开发程序,另外要注意的是在处理一些和硬件底层打交道的代码。在这些程序中我们需要采用通用的字节处理调用来处理,以保证应用可以很快速在不同的平台间移植,比如从Power系列的CPU平台移植到以INTEL CPU的平台,这样就可以确保应用的更强的可用性。
3。如果你的应用与路径有关,而在AIX系统中没有程序中指定的路径存在,那么必须修改应用的源码并指向正确的路径。所以建议你在开发是确认你的代码是否是可行的并进行相应的测试。
IBM RS/6000 CPU 与IBM INFORMIX数据库CPU虚处理器的设置
环境 产品: IBM INFORMIX 7.x,9.x
平台: AIX
问题 目前在IBM RS/6000多数机型为对称多处理器结构, 而IBM INFORMIX数据库服务器的配置参数中有CPU VP(即CPU虚处理器)的设置, 那么在实际应用中如何对CPU与CPUVP进行设置以达到比较好的性能呢?
解答 CPU VP是多线索进程, 它一直在CPU上执行除非以下情况发生
1. 没有任务做, 例如就绪队列中没有等待执行的线索.
2. 操作系统强迫CPU VP让出CPU 给其它进程.
为优化吞吐量, 将NUMCPUVPS设置为能够处理承接任务的最小的数, 这个数目小于或等于系统中可利用的CPU数, 建议不要将CPU VP数设置成大于可用CPU数目. 通常对于OLTP应用: NUMCPUVPS=TOTAL CPUS-1 VP; 对于OLAP应用: NUMCPUVPS=TOTAL CPUS.
如果CPU VP不能承受要执行的任务, 这就表示需要提高CPU性能来解决问题. 只有存在另外的处理器, 才能通过增加CPU VP来解决问题. 也可以从系统上移走其它任务, 为虚处理器释��CPU周期, 从而改善性能.
增加CPU VP的数目而不增加CPU资源只会使问题更严重, 产生更多的CPU周期竞争, 这样操作系统要有更多的工作来做均衡, 争夺CPU时间的CPU VP使其负担增加. 结果, 上下文切换增加, 这不仅消耗时间而且要使用更多的CPU.
由于系统不光是CPU VP, 还有其它进程申请CPU周期, 在一些多处理器系统上, NUMCPUVPS应小于或等于全部CPU数. 当然, 我们应根据实际应用的状况, 在系统上进行试验和监测, 以检测吞吐量和CPU使用情况, 最终找到比较好的配置方案.
通过命令onstat ?g rea 来检测就绪队列, 确认CPU是否不能承担任务. 就绪队列的线索是将要执行的线索, 如果就绪队列线索数开始加速增长, 这就表示CPU VP已不能承接如此繁重的任务. 在调整好的系统上看到几个就绪线索, 或是在测试工作开始时有些线索增加是正常的. 每个CPU VP上有一个就绪线索是合理的.
另外, 查看CPU VP的使用情况, 如CPU VP跟不上任务的增长, 就会看到虚处理器处于饱和, 可以用onstat ?g glo监视虚处理器的使用情况. 如果系统和用户CPU VP时间之合接近于测试花费时间, 那么CPU VP就饱和了, 如果设置NUMCPUVPS低于系统中CPU数, 可以增加一个CPU VP, 但不要超出系统中的全部CPU数.
注意: 在多处理器系统中, 全部可利用CPU时间等于处理器数乘以测试时间, 一个CPU VP不能在某一时刻消耗多于一个处理器的能力, 因此一个CPU VP的全部CPU比率不会超过测试时间的100%.
如果整个系统中CPU资源已饱和, 而且不能再减轻工作负荷或增加资源, 可以通过减少NUMCPUVPS来改善性能. 但这种变化只有在CPU VP急需其它虚处理器或进程的CPU资源时才起作用.