informix9.4 使用onstat时遇到问题
informix版本9.4,之前一直用的很好,现在dbaccess也能够访问数据库,但onstat时出现如下问题:只能使用onstat -c 和onstat -m查看命令,onstat -l onstat -p什么的想看数据库状态都不行。online.log中也没有报错信息,只有增加了两个共享内存段的信息。
可能重启数据库就没有问题了,但是想知道到底什么原因引起这个现象的,或者有什么其它的解决方法,
各位大侠,请一定帮帮忙!多谢!
15:43:25Maximum server connections 262
15:45:24Dynamically allocated new virtual shared memory segment (size 64000KB)
15:45:35Dynamically allocated new virtual shared memory segment (size 64000KB)
15:48:25Fuzzy Checkpoint Completed:duration was 0 seconds, 1406 buffers not flushed,
timestamp: 0xe128ac9f.
15:48:25Checkpoint loguniq 1249, logpos 0x814b3d0, timestamp: 0xe128ac9f
15:48:25Maximum server connections 262
15:53:25Fuzzy Checkpoint Completed:duration was 0 seconds, 1415 buffers not flushed,
timestamp: 0xe128c182.
15:53:25Checkpoint loguniq 1249, logpos 0x818f3b8, timestamp: 0xe128c182
p55a2$onstat -l
16:07:27shmat: : operating system error
onstat: Cannot attach to shared memory. errno = 22
p55a2$onmonitor时显示如下
Dynamic Server: StatusParametersDbspacesModeForce-CkptArchiveLogical-LogsExit
Status menu to view Dynamic Server.
** WARNING: Network Down **--On-Line------- Press CTRL-W for Help. --------
onconfig配置文件如下:
# Root Dbspace Configuration
ROOTNAME rootdbs # Root dbspace name
ROOTPATH /home/informix/data/rtestroot
# Path for device containing root dbspace
ROOTOFFSET 4000 # Offset of root dbspace into device (Kbytes)
ROOTSIZE 2000000 # Size of root dbspace (Kbytes)
# Disk Mirroring Configuration Parameters
MIRROR 0 # Mirroring flag (Yes = 1, No = 0)
MIRRORPATH # Path for device containing mirrored root
MIRROROFFSET 0 # Offset into mirrored device (Kbytes)
# Physical Log Configuration
PHYSDBS logdbs # Location (dbspace) of physical log
PHYSFILE 1000000 # Physical log file size (Kbytes)
# Logical Log Configuration
LOGFILES 10 # Number of logical log files
LOGSIZE 2000 # Logical log size (Kbytes)
LOG_BACKUP_MODE MANUAL # Logical log backup mode (MANUAL, CONT)
# Diagnostics
MSGPATH /home/informix/online_test.log # System message log file path
CONSOLE /dev/console # System console message path
# To automatically backup logical logs, edit alarmprogram.sh and set
# BACKUPLOGS=Y
ALARMPROGRAM /home/informix/etc/alarmprogram.sh # Alarm program path
TBLSPACE_STATS1 # Maintain tblspace statistics
# System Archive Tape Device
TAPEDEV /dev/null # Tape device path
TAPEBLK 2048 # Tape block size (Kbytes)
TAPESIZE 204800000 # Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 10240 # Max amount of data to put on log tape (Kbytes)
# Optical
STAGEBLOB # Informix Dynamic Server staging area
# System Configuration
SERVERNUM 1 # Unique id corresponding to a OnLine instance
DBSERVERNAME test # Name of default database server
DBSERVERALIASES # List of alternate dbservernames
NETTYPE soctcp,4,200,NET # Configure poll thread(s) for nettype
DEADLOCK_TIMEOUT 60 # Max time to wait of lock in distributed env.
RESIDENT 0 # Forced residency flag (Yes = 1, No = 0)
MULTIPROCESSOR1 # 0 for single-processor, 1 for multi-processor
NUMCPUVPS 4 # Number of user (cpu) vps
SINGLE_CPU_VP 0 # If non-zero, limit number of cpu vps to one
NOAGE 0 # Process aging
AFF_SPROC 0 # Affinity start processor
AFF_NPROCS 4 # Affinity number of processors
# Shared Memory Parameters
LOCKS 2000000 # Maximum number of locks
BUFFERS 100000 # Maximum number of shared buffers
NUMAIOVPS 2 #changed 2007/03/22
PHYSBUFF 1024 # Physical log buffer size (Kbytes)
LOGBUFF 1024 # Logical log buffer size (Kbytes)
CLEANERS 8 # Number of buffer cleaner processes
SHMBASE 0x700000010000000 # Shared memory base address
SHMVIRTSIZE 128000 # initial virtual shared memory segment size
SHMADD 64000 # Size of new shared memory segments (Kbytes)
SHMTOTAL 0 # Total shared memory (Kbytes). 0=>unlimited
CKPTINTVL 300 # Check point interval (in sec)
LRUS 8 # Number of LRU queues
LRU_MAX_DIRTY 2.000000 # LRU percent dirty begin cleaning limit
LRU_MIN_DIRTY 1.000000 # LRU percent dirty end cleaning limit
TXTIMEOUT 0x12c # Transaction timeout (in sec)
STACKSIZE 128
p55a2$ipcs -mb
IPC status from /dev/mem as of Tue Apr 22 17:22:19 BEIST 2008
T ID KEY MODE OWNER GROUP SEGSZ
Shared Memory:
m 1048576 0x580011d9 --rw-r--r-- imnadm imnadm 4096
m 1048577 0x470011d9 --rw-r--r-- imnadm imnadm 48
m 1048578 0x780001e7 --rw-rw-rw- root system16777216
m 3 0x4d0011d9 --rw-r--r-- imnadm imnadm 4096
m 4 0x490011d9 --rw-r--r-- imnadm imnadm 4096
m 5 0x500011d9 --rw-r--r-- imnadm imnadm 3222
m 6 0x450011e1 --rw-rw-rw- imnadm imnadm 96
m 7 0x430011e1 --rw-rw-rw- imnadm imnadm 97708
m 8 0x420011e1 --rw-rw-rw- imnadm imnadm 36028
m 9 0x410011e1 --rw-rw-rw- imnadm imnadm 42148
m 10 0x440011e1 --rw-rw-rw- imnadm imnadm 2844
m 11 0xffffffff --rw-rw---- root system 4096
m 12 0x0d022760 --rw-rw---- root system 1440
m 1048589 0x52574801 --rw-rw---- root informix 681148416
m 7340046 0xffffffff --rw------- test staff 3848
m 3145743 0x0000aaf7 --rw-rw-rw- try staff 1653228
m 3145744 0xffffffff --rw------- try staff 38048
m 4194321 0xffffffff --rw------- prejf staff 38048
m 4194322 0x0000ddde --rw-rw-rw- prejf staff 1653228
m 3145747 0x0000ca4d --rw-rw-rw- check staff 1653228
m 3145748 0xffffffff --rw------- check staff 3848
m 6291477 0x0000ddd5 --rw-rw-rw- test staff 1653228
m 1048598 0x52574802 --rw-rw---- root informix 131072000
m 23 0xffffffff D-rw-rw---- test informix65536000
m 24 0xffffffff D-rw-rw---- test informix65536000 系统已经提示了..无法分配更多的内存~~.....
看你这个数据库还是很大的哦...不过BUFFERS配置只有100000而SHMADD64000来看,你的系统内存并不多.....
回复 #2 liaosnet 的帖子
有些愚钝,平常监控时看数据库用到内存并不大,系统可用内存也很多,不知您说的意思是分给数据库的内存不够用吗?我调大些BUFFER可行吗?p55a2[/]#svmon
size inuse free pin virtual
memory 2035712 816060 1219652 219306 708341
pg space 2228224 4023
work pers clnt
pin 219306 0 0
in use 708338 0 107722
PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 772460 4023 190810 664741
m64 KB - 2725 0 1781 2725 通常BUFFERS的值建议设置大小是物理内存的20%-25%,我也觉得BUFFERS看上去有些小,可以尝试调整看看会不会避免出现类似情况。另外informix对于“22”错误代码的解释如下:
-22 无效的参数。
一个具有所示意义的操作系统错误代码,不可预料地返回到数据库服务器。查找其它操作系统错误信息,可能会给出更详细的信息。如果错误重复出现,请参考“Informix-OnLine管理员指南附录B "的“陷井错误 ”以得到进一步诊断。
请就诊断信息与 Informix 技术支持部联系。
以前遇到过类似提示“22”错误的情况,当时日志提示是“check system SHMSEG”,有时也可能是数据库分配内存时有异常,通常重启之后会正常,也可以看看操作系统的日志中有没有什么异常提示。
页:
[1]