问题(一) aix64位编程,一些问题请教
编译器 vac 6.0
编译参数:cc -G -D__AIX__ -q64 -qcpluscmt -qwarn64 -g -O3 -qarch=pwr5 -qtune=pwr5 -qstrict
1.
fprintf(logfile," xxx:%s\n",ttyname(0));
这样会Segmentation fault(coredump)
我已经确定ttyname(0)返回char *指针,dbx调试发现应该是fprintf时调用strlen时出的问题
如果改成这样:
memset(buffer,0,sizeof(buffer));
strcpy(buffer,ttyname(0));
fprintf(logfile," xxx:%s\n",buffer);
就不会报coredump了,这种问题能有别的方法修改么?
解答:这个问题我也遇到过,我的是用sprintf(conn_desp->ip_addr,"%s",inet_ntoa (cli_addr.sin_addr));可以,但是用strcpy(conn_desp->ip_addr,(char *)inet_ntoa(cli_addr.sin_addr));就coredump
2.char *的函数参数传入后会改变,原来32位时没这个问题,改成const char *后好了
问题(二) 为什么我的串口线可以安装AIX,但不能登陆AIX
我的串口线序是9孔对9孔:2、3交叉;7、8交叉;1、6都接对端4; 5直连。
难道还跟线有关???我最后设置IP后用 网络TELNET把串口打开,结果还是补不能登陆。
这种连接方法是否可以 ?
万能:
1-7、8
2-3
3-2
4-6
5-5
6-4
7、8-1
解答:线序:23交叉 78交叉 16接4 5直连 9不接
smitty console定向到tty0
smitty tty设置tty0属性
Enable LOGIN enable
STTY attributes for RUN time 加入clocal
STTY attributes for LOGIN 加入clocal
9孔对9孔:2、3交叉;7、8交叉;1、6都接对端4; 5直连
这样的线肯定能用
问题(三) 如何对系统做镜像以提高系统高可用性和性能
环境 RS6000
解答 通常情况下, 对系统做镜像会提高系统的高可用性, 即当其中一块盘损坏或数据区不可用时,系统会自动使用其镜像盘或镜像数据区进行正常的业务操作. 在以RS/6000系统为基础的数据库应用中做镜像有三种方式, 第一种方式是通过做RAID10直接对硬盘做镜像, 需要增加相应的适配卡支持. 可以对裸设备或文件系统做镜像. 第二种方式是通过AIX操作系统做RAID1, 只能对文件系统做镜像. 第三种方式是通过数据库系统做镜像,可以对裸设备或文件系统做镜像. 对于这三种方式一般建议大家采取前两种方式会取得比较好的系统性能和高可用性.本文主要讨论使用RAID1做镜像时系统拥有的盘数对性能的影响.
做RAID1镜像时,可以对卷组中指定的逻辑卷单独做镜像, 也可以对整个卷组做镜像. 对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘以保证数据高可用性. 若对整个卷组做镜像则没有对卷组内硬盘个数的限制.此外要求镜像最好位于不同的硬盘, 当其中某块硬盘损坏时其镜像盘仍可工作, 以提高系统的高可用性.
下面介绍为什么对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘。
在RS/6000系统中, 每个在VG(卷组)中的物理硬盘都至少有一个VGDA(卷组描述区, 既对该硬盘上的物理和逻辑卷进行描述). VGDA在硬盘的数量有如下规则:
一个卷组只有一块硬盘: 该硬盘有两个VGDA.
一个卷组有两块硬盘: 第一块硬盘有两个VGDA, 第二块硬盘有一个VGDA.
一个卷组有三块或三块以上硬盘: 每块硬盘有一个VGDA.
在AIX系统中, quorum(一个卷组中的可用VGDA的比率)必须高于51%, 该卷组才可用. 对于只有两块硬盘的卷组, 若第一块硬盘损坏, 则只有33%的VGDA可用, 若第二块硬盘损坏, 则有66%的VGDA可用. 对于有三块或三块以上硬盘的卷组, 若损坏一块硬盘, 至少有66%的VGDA可用.
对卷组中指定的逻辑卷做镜像时, 若该卷组中只有两块硬盘, 当第一块硬盘损坏时, 其VGDA只有33%可用, 会导致该卷组不可用,这样就使得镜像失去保证硬盘高可用性的功能.
若该卷组只有两块硬盘又一定要做镜像时, 可以关掉quorum, 即使第一块硬盘损坏也不会使整个卷组不可用,此时系统使用第二块硬盘,但是第二块硬盘的数据将不能镜像. 由此有可能带来数据丢失的风险,第二块硬盘损坏时会导致该卷组不可
用从而引起数据丢失.
因此, 对卷组中指定的逻辑卷做镜像时, 最好要求该卷组有三块或三块以上的硬盘以保证数据高可用性.
问题(四) Debug mode 引导AIX
环境 RS/6000 AIX V5.1
解答 1. 系统要求配置有tty console
2. #bosbot -aI /dev/ipldevice
3. #shutdown -Fr
问题(五) 在AIX中如何为一块网卡,配多个IP地址?
环境 产品, Pseries, RS6000,
软件版本, AIX4.3.3
解答 可以。 使用命令ifconfig 即可.其语法为:
ifconfig network_interface second_ip_address netmask your_netmask alias
在ODM中未记录此定义,所以关机后该定义会丢失,若需要的话,可将该命令加在启动文件(/etc/rc.net)中.
如第二个IP地址是 9.185.43.135 可用
# ifconfig en0 9.185.43.135 netmask 255.255.255.0 alias
当该IP地址不再需要时,可从系统中删除.
#ifconfig en0 9.185.43.135 netmask 255.255.255.0 delete
或从/etc/rc.net文件中删除。
问题(六) AIX内核参数调整之vmtune -p -P(2)?
环境 AIX 4
解答 -p minperm
如果在物理内存中的文件页面数量(file pages)低于此值,页面替换算法将替换文件页和程序页(computational pages),minperm的缺省值约为20%的物理内存。
-P maxperm
如果在物理内存中的文件页面数量(file pages)高于于此值,页面替换算法将只替换文件页,maxperm的缺省值约为80%的物理内存。
如果在物理内存中的文件页面数量在这两个值之间,页面替换算法通常只替换文件页,但是当文件页面的再替换率(repaging rate)高于程序页面时页面替换算法将同时替换文件页和程序页。
问题(七) AIX内核参数调整之vmtune -f -F(3)?
环境 AIX 4
解答 -f minfree
指出内存在free list中内存页的最低值,此值的范围从8到204800。
-F maxfree
当系统中的空闲内存小于minfree时,系统进行换页操作增加空闲内存页,当空闲内存页的数量大于等于maxfree时,系统换页操作停止。
maxfree的缺省值为minfree+8。maxfree-minfree的差值应大于等于maxpgahead。
注:一个页面的大小为4K。
问题(八) RS6000/Pseries 服务器上可安装Linux 吗? 应用程序该如何移植?
环境 产品, Pseries, RS6000
软件版本, AIX, linux
解答 1. RS6000/Pseries 的低端服务器(B80,270,170,150)可以安装Linux 操作系统. 所使用的系统版本应为 XX Linux on Pseries (由不同的 Linux公司提供) . 其上编译的Linux 应用程序使用的是 Linux 核心.
2. Pseries中的中高端服务器目前不可安装Linux, 但可以安装 AIX Toolbox for Linux Applications for Power System, 该工具箱提供了Linux API 接口, 在其上编译的Linux 应用程序使用的是AIX核心.
3. 在 XX Linux on Pseries环境下编译的程序,移植到AIX Toolbox for Linux Applications 中需重新编译,反之亦然.
问题(九) AIX内核参数调整之vmtune -r -R(4)?
环境 AIX 4
解答 -r minpgahead
指出何时启动提前读的功能,此值应为2的倍数,缺省值为2。
-R maxpgahead
指出最大的提前读的页数,此值应为2的倍数,缺省值为8,此值应大于minpgabead,最大值为512。maxfree-minfree的差值应大于等于maxpgahead。
问题(十) 如何确定一文件系统是Large File Enabled的文件系统?
环境 平台, Pseries, RS6000,
软件版本, AIX 4.3.3
解答 可使用 lsfs -q filesystem_name 命令来查看.
例如:
#lsfs -q /home
Name Nodename Mount Pt VFS Size Options Auto Accounting
/dev/hd1 -- /home jfs 131072 -- yes no
(lv size: 131072, fs size: 131072, frag size: 512, nbpi: 4096, compress: no, bf: false, ag:
bf:false 表示是standard filesystem
bf:true 表示是Large File Enabled file system.
如何改变上传ftp文件的缺省读写属性?
2007-07-05 09:56:40
问题(一) 关于CPU CORE的疑问
看到IBM的P系列服务器的配置, CPU这一项都是以CORE为单位。假如是16CORE是不是指8个物理CPU?查了下资料说有的CPU是两核封装,也有四核封装的。如果是四核封装的话那16CORE是不是指4个物理CPU?它的CORE跟现在PC上流行的双核有区别么?
解答:core的中文就是核,也就是一个实际的物理CPU。
双核指的是一个芯片里封装了两个物理CPU。
16CORE是16个物理CPU
四核封装的话那16CORE是16个物理CPU,封装在4个QCM里。
问题(二) 如何立刻断掉一个已经login的用户?
环境 产品:AIX
平台:RS
软件版本:4.3
解答 可使用命令 fuser -k <用户的主目录>;
如:fuser -k /home/guest
问题(三) 使用errdemon客户化系统错误日志文件
环境 产品: pSeries, RS/6000
软件版本: AIX 4.3, AIX 5L
解答 首先列出系统错误日志文件当前配置数据:
#/usr/lib/errdemon -l
Error Log Attributes
--------------------------------------------
Log File /var/adm/ras/errlog
Log Size 1048576 bytes
Memory Buffer Size 8192 bytes
如果希望改变系统错误日志文件的大小, 输入:
#/usr/lib/errdemon -s 2000000
如果希望改变系统错误日志文件buffer的大小, 输入:
#/usr/lib/errdemon -B 16384
问题(四) 什么版本的Oracle数据库支持AIX 5.1
环境 oracel, aix
解答 AIX 4.3.3 AIX 5L
8.1.7 32-bit Yes Yes
now (Production) now (Production)
8.1.7 64-bit Yes
now (Production)
9.0.1 64-bit Yes Yes
now (Production) now (Developer's Release)
9.2 64-bit Yes Yes
now (Production) now (Production)
问题(五) 如何监控裸设备I/O?
环境 产品:pSeries,RS/6000
软件版本:AIX 4.3 AIX 5.1
解答 sar命令中的“-b”选项可以用于监控裸设备I/O。裸设备一般用于存放数据库数据。
# sar -b 1 3
AIX 6f1 3 4 00023A0F4C00 06/19/02
18:16:30 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
18:16:31 0 0 0 0 0 0 0 0
18:16:32 0 0 0 0 0 0 0 0
18:16:33 0 0 0 0 0 0 0 0
Average 0 0 0 0 0 0 0 0
其中bread/s 和bwrit/s显示了块裸设备(block raw device)I/O操作的数目。pread/s 和pwrit/s显示了字符裸设备(character raw device)I/O操作的数目
问题(六) 在AIX上安装RPM格式软件包
环境 AIX 4.3.3/5L
解答 1.从Linux Application Toolbox CD安装Redhat Package Manager - rpm.rte
2.安装RPM格式软件
#rpm -ivh fileset_name
3.检查按装结果
#rpm -q fileset_name
问题(七) 如何拒绝某些用户的ftp访问?
环境 产品: AIX
平台: RS
软件版本: AIX V4
解答 请编辑
/etc/ftpusers
添加需要拒绝的用户,每用户一行 For example:
#more /etc/ftpusers
ql
当尝试 ftp 登录时,系统报错:
Name (localhost:root): ql
530 User ql access denied.
Login failed
问题(八) 如何改变上传ftp文件的缺省读写属性?
环境 AIX 4
解答 在AIX环境中,当用户从Windows上传文件到AIX服务器时
所传文件的缺省读写属性为640(rw-r-----)。如想改变
缺省读写属性为644,首先用vi编辑器打开/etc/inetd.conf
文件,在"ftp"定义行的末尾加上"-u 033",然后刷新inetd进程:
refresh -s inetd
这就改变了ftp文件的缺省属性。
问题(九) AIX中的 rmss 命令的用途
环境 产品,平台,机型, RS6000, Pseries
软件版本, AIX v4
解答 rmss 是在现有物理内存大小的基础上模拟服务器的物理内存大小的命令, 而无需拔出或替换内存芯片. 通过在不同的内存下运行同一应用,可以确定应用在正常运行时所需内存的尺寸.
例如:
#rmss -c 2048 :模拟2GB的内存
#rmss -p :显示当前模拟内存的大小
#rmss -r :重置内存,使之恢复到实际内存尺寸
问题(十) 在AIX中扩展卡的逻辑名和它所在插槽的对应关系
环境 产品, Pseries, RS6000
软件版本, AIX
解答 可用以下步骤来确定它们的关系:
1. 检查相同类型的卡的逻辑名及个数.
例如确定服务器中以太网卡的名称:
# lsdev -Cc adapter |grep en
ent0 Available 1A-08 IBM 10/100 Mbps Ethernet PCI Adapter (23100020)
ent1 Available 21-08 IBM 10/100 Mbps Ethernet PCI Adapter (23100020)
2. 通过查看Device Specific. 的值,确定其所对应的插槽.
如:
# lscfg -vl ent0 DEVICE LOCATION DEscrīptION ent0 1A-08 IBM 10/100 Mbps Ethernet PCI Adapter (23100020) Serial Number...............22010344 FRU Number..................091H0397 Part Number.................091H0397 Network Address.............000629DC698C Displayable Message.........PCI Ethernet Adapter (23100020) Device Specific.(YL)........P1-I3/E1 I3 表示此网卡插在第三槽上.# lscfg -vl ent1 DEVICE LOCATION DEscrīptION ent1 10-80 IBM 10/100 Mbps Ethernet PCI Adapter (23100020) Network Address.............0004ACE4AF6D Displayable Message.........PCI Ethernet Adapter (23100020) Device Specific.(YL)........P2/E1 是集成在主板上的网卡.
查找文件或命令对应的文件集
2007-07-04 09:47:42
问题(一) 请教rs6000 140机器安装aix
在140机器上,由于把语言环境搞坏了,想重装aix,但不知道在开机时,按什么键,来选择光盘安装。
解答:如果开机出的是图形界面,按F5,是字符界面按5
问题(二) 物理内存问题!
怎样察看机器的物理内存的使用率?在就是虚拟内存是不是换页空间-pagingsapce,是不是还包括别的!
解答:怎样察看机器的物理内存的使用率?--svmon -G 或topas或nmon等。
虚拟内存是不是换页空间-pagingsapce--在AIX中基本是同一的。
