soory,kproc 可以有多个。应该是这个问题: http://www.mamiyami.com/doc/oracle9i/a97297/appa_aix.htmUsing Asynchronous I/O ....The number of kproc servers determines the number of AIO requests that can be executed in the system concurrently, so it is important to tune the number of kproc processes when using filesystems to store Oracle9i datafiles. ...意思是你的oracle9i使用文件系统(不使用裸设备),并且使用了AIX的 AIO,那么kproc的数量会随着并发访问数据库的数量增加。如果不限制kproc的数量,内存会用尽。文章里面有如何设置kproc数量的做法
刚才看了看那段,我的感觉是好像不是kproc的数量过多导致内存用尽。我用 # pstat -a | grep -c aios 查看当前运行的AIO servers 的数量,一直都是50 却不知道怎么查 MINSERVERS and MAXSERVERS 的值。 是不是因为kproc的数量受到限制出的问题?
大家看看这句话:MAXSERVERS You can incrementally increase this value to a maximum of the value of the MAXSERVERS parameter divided by 2 or the number of disks accessed divided by 10, whichever is greater. 它好像是说,这个值越大越好,是不是啊?
我查了,好像进程都是跟Oracle有关的,没有其他的进程消耗资源。要么就是我查的方法不对,请大侠告诉我怎么查。
Wed May 12 09:26:42 2004 Interval: 2 Cswitch 40 Readch 1823
Syscall 112 Writech 12546
Kernel 0.0 | | Reads 8 Rawin 0
User 0.2 | | Writes 2 Ttyout 65
Wait 0.0 | | Forks 0 Igets 0
Idle 99.7 |############################| Execs 0 Namei 1
Runqueue 0.0 Dirblk 0
oracle (22580) 0.2% PgSp:24.3mb oracle Waitqueue 1.0
syncd (2888) 0.0% PgSp: 0.4mb root
oracle (18330) 0.0% PgSp: 4.2mb oracle PAGING MEMORY
oracle (19366) 0.0% PgSp: 2.8mb oracle Faults 0 Real,MB 2047
oracle (24578) 0.0% PgSp: 4.5mb oracle Steals 0 % Comp 47.6
oracle (39078) 0.0% PgSp: 6.6mb oracle PgspIn 0 % Noncomp 48.1
tnslsnr (28840) 0.0% PgSp: 5.8mb oracle PgspOut 0 % Client 0.5
topas (36276) 0.0% PgSp: 0.5mb root PageIn 0
dtscreen (22998) 0.0% PgSp: 0.4mb oracle PageOut 2 PAGING SPACE
oracle (9280) 0.0% PgSp: 2.8mb oracle Sios 1 Size,MB 4096
dtexec (25522) 0.0% PgSp: 0.4mb oracle % Used 0.9
dtterm (37600) 0.0% PgSp: 1.0mb oracle % Free 99.0
telnetd (26784) 0.0% PgSp: 0.8mb root
ksh (18664) 0.0% PgSp: 0.3mb root
gil (1548) 0.0% PgSp: 0.3mb root Press "h" for help screen.
dtwm (7872) 0.0% PgSp: 1.5mb oracle Press "q" to quit program.这是topas命令h/p 后的界面。帮忙看看是不是进程有问题?要查看所有的进程信息,应该怎么查啊?
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 1 217512 25861 0 0 0 0 0 0 212 67 82 26 16 58 0
0 1 217512 25860 0 0 0 0 0 0 210 1674 27 0 0 99 0
0 1 217516 25856 0 0 0 0 0 0 227 240 87 0 0 99 0
# vmstat 1 3
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 1 218059 25310 0 0 0 0 0 0 212 67 82 26 16 58 0
0 1 218059 25309 0 0 0 0 0 0 261 1158 116 1 11 85 3
0 1 218059 25309 0 0 0 0 0 0 238 279 106 1 0 98 0
昨天可用内存还有100M以上,今天就剩这么多了,降得很快。真的不知道该怎么调。有没有人碰到过这种问题啊?是Oracle需要打补丁还是AIX需要?
ps aux|grep oracle --- server process物理内存有多少?Swap有多大?
SGA多大?
oracle 22580 1.1 3.0 85680 66464 - A May 11 35:09 ora_s000_ora9i
oracle 18330 0.1 1.0 44356 25144 - A May 11 2:14 ora_d000_ora9i
oracle 39078 0.0 1.0 46648 27428 - A May 11 0:14 ora_pmon_ora9i
oracle 19366 0.0 1.0 42816 23596 - A May 11 0:07 ora_lgwr_ora9i
oracle 24578 0.0 1.0 45348 26132 - A May 11 0:03 ora_smon_ora9i
oracle 40092 0.0 1.0 42508 23292 - A May 11 0:00 ora_ckpt_ora9i
oracle 33008 0.0 1.0 42400 23184 - A May 11 0:00 ora_reco_ora9i
root 36228 0.0 0.0 204 248 pts/2 A 17:47:08 0:00 grep ora_
oracle 23404 0.0 1.0 44604 25384 - A May 11 0:00 ora_dbw0_ora9i# ps aux|grep oracle
oracle 22580 1.1 3.0 85888 66672 - A May 11 35:12 ora_s000_ora9i
oracle 18330 0.1 1.0 44356 25144 - A May 11 2:15 ora_d000_ora9i
oracle 28840 0.0 0.0 12916 7408 - A Mar 28 12:56 /ora/OraHome1/bi
oracle 39078 0.0 1.0 46648 27428 - A May 11 0:14 ora_pmon_ora9i
oracle 22040 0.0 1.0 42820 23620 - A 15:34:46 0:01 oracleora9i (LO
oracle 19366 0.0 1.0 42816 23596 - A May 11 0:07 ora_lgwr_ora9i
oracle 37600 0.0 0.0 1128 1388 - A May 11 0:04 /usr/dt/bin/dtter
oracle 7872 0.0 0.0 2112 2484 - A May 08 0:13 dtwm
oracle 7520 0.0 0.0 1772 2100 - A May 08 0:11 /usr/dt/bin/dtses
oracle 24578 0.0 1.0 45348 26132 - A May 11 0:03 ora_smon_ora9i
oracle 23822 0.0 1.0 276 10580 - A Mar 15 2:21 kproc
oracle 20124 0.0 1.0 276 10564 - A Mar 15 2:19 kproc
oracle 33548 0.0 1.0 276 10572 - A Mar 16 2:15 kproc
oracle 35090 0.0 1.0 276 10572 - A Mar 16 2:09 kproc
oracle 26922 0.0 1.0 276 10576 - A Mar 15 2:10 kproc
oracle 35348 0.0 1.0 276 10560 - A Mar 16 2:08 kproc
oracle 29746 0.0 1.0 276 10572 - A Mar 16 2:08 kproc
oracle 26424 0.0 1.0 276 10576 - A Mar 15 2:07 kproc
oracle 29966 0.0 1.0 276 10576 - A Mar 15 2:07 kproc
oracle 20382 0.0 1.0 276 10568 - A Mar 15 2:07 kproc
oracle 34318 0.0 1.0 276 10576 - A Mar 16 2:01 kproc
oracle 27960 0.0 1.0 276 10572 - A Mar 16 1:56 kproc
oracle 29290 0.0 1.0 276 10576 - A Mar 15 1:56 kproc
oracle 35864 0.0 1.0 276 10572 - A Mar 16 1:53 kproc
oracle 33032 0.0 1.0 276 10576 - A Mar 16 1:53 kproc
oracle 30506 0.0 1.0 276 10552 - A Mar 15 1:52 kproc
oracle 19618 0.0 1.0 276 10572 - A Mar 15 1:52 kproc
oracle 32520 0.0 1.0 276 10576 - A Mar 16 1:48 kproc
oracle 27432 0.0 1.0 276 10580 - A Mar 16 1:46 kproc
oracle 34832 0.0 1.0 276 10580 - A Mar 16 1:45 kproc
oracle 29522 0.0 1.0 276 10564 - A Mar 15 1:42 kproc
oracle 16808 0.0 1.0 276 10568 - A Mar 15 1:38 kproc
oracle 32304 0.0 1.0 276 10588 - A Mar 16 1:35 kproc
oracle 34064 0.0 1.0 276 10576 - A Mar 16 1:34 kproc
oracle 29080 0.0 1.0 276 10580 - A Mar 16 1:30 kproc
oracle 30216 0.0 1.0 276 10564 - A Mar 16 1:27 kproc
oracle 33816 0.0 1.0 276 10580 - A Mar 16 1:27 kproc
oracle 20640 0.0 1.0 276 10584 - A Mar 15 1:27 kproc
oracle 20898 0.0 1.0 276 10572 - A Mar 15 1:25 kproc
oracle 31482 0.0 1.0 276 10552 - A Mar 15 1:24 kproc
oracle 28466 0.0 1.0 276 10564 - A Mar 16 1:23 kproc
oracle 19866 0.0 1.0 276 10584 - A Mar 15 1:22 kproc
oracle 35606 0.0 1.0 276 10580 - A Mar 16 1:19 kproc
oracle 30982 0.0 1.0 276 10560 - A Mar 15 1:18 kproc
oracle 33292 0.0 1.0 276 10572 - A Mar 16 1:17 kproc
oracle 27220 0.0 1.0 276 10576 - A Mar 15 1:17 kproc
oracle 31992 0.0 1.0 276 10568 - A Mar 15 1:11 kproc
oracle 21156 0.0 1.0 276 10564 - A Mar 15 1:06 kproc
oracle 34574 0.0 1.0 276 10580 - A Mar 16 1:02 kproc
oracle 31566 0.0 1.0 276 10568 - A Mar 16 1:00 kproc
oracle 17626 0.0 0.0 1092 1324 - A May 08 0:03 /usr/dt/bin/ttses
oracle 40092 0.0 1.0 42508 23292 - A May 11 0:00 ora_ckpt_ora9i
oracle 33008 0.0 1.0 42400 23184 - A May 11 0:00 ora_reco_ora9i
oracle 36230 0.0 0.0 468 584 - A 17:48:28 0:00 /usr/dt/bin/dtscr
oracle 32014 0.0 0.0 504 660 - A 17:48:28 0:00 /usr/dt/bin/dtexe
oracle 39608 0.0 0.0 1140 1400 - A May 11 0:00 /usr/dt/bin/dtter
oracle 26210 0.0 0.0 600 640 pts/1 A May 11 0:00 /usr/bin/ksh
oracle 7290 0.0 0.0 12148 6844 pts/4 A May 11 0:00 lsnrctl
oracle 7984 0.0 0.0 1096 1372 - A May 08 0:00 /usr/dt/bin/dtter
root 18068 0.0 0.0 204 248 pts/2 A 17:48:52 0:00 grep oracle
oracle 23404 0.0 1.0 44604 25384 - A May 11 0:00 ora_dbw0_ora9i
oracle 25860 0.0 0.0 504 660 - A May 11 0:00 /usr/dt/bin/dtexe
oracle 23072 0.0 0.0 504 660 - A May 11 0:00 /usr/dt/bin/dtexe
oracle 21264 0.0 0.0 600 640 pts/4 A May 11 0:00 /usr/bin/ksh
oracle 12154 0.0 0.0 572 604 pts/0 A May 08 0:00 /usr/bin/ksh各位大侠,帮忙看看。
http://www.fanqiang.com/a1/b7/20020415/060201180.html
# ps aux |head -1 ;ps aux |sort -rn +2
USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND
root 516 44.1 1.0 268 10580 - A Mar 15 74364:00 kproc
root 774 15.1 1.0 268 10580 - A Mar 15 25433:34 kproc
oracle 17722 0.4 1.0 47008 27792 - A 09:30:12 0:04 ora_s000_ora9i
root 2888 0.2 0.0 420 432 - A Mar 15 258:11 /usr/sbin/syncd
oracle 18330 0.1 1.0 44612 25400 - A May 11 3:17 ora_d000_ora9i显示10个消耗存储空间最多的进程
# ps aux |head -1 ;ps aux |sort -rn +3 |head -10
USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND
root 14708 0.0 1.0 272 10584 - A Mar 15 0:03 kproc
root 11868 0.0 1.0 272 10576 - A Mar 15 0:00 kproc
root 9820 0.0 1.0 272 10580 - A Mar 15 0:00 kproc
root 9598 0.0 1.0 272 10584 - A Mar 15 0:01 kproc
root 6194 0.0 1.0 276 10588 - A Mar 15 0:00 kproc
root 5936 0.0 1.0 276 10588 - A Mar 15 0:00 kproc
root 5678 0.0 1.0 276 10588 - A Mar 15 0:01 kproc
root 5422 0.0 1.0 276 10588 - A Mar 15 0:01 kproc
root 5172 0.0 1.0 276 10588 - A Mar 15 0:00 kproc
root 4966 0.0 1.0 276 10588 - A Mar 15 0:00 kproc而且,查了一下受罚的进程,非常多。请高手指点。多谢。
平台: RS
版本:AIX 4
问题 进程kproc
解答 当我们使用命令: " ps aux" 或"ps ug" 检查各进程对于CPU和内存的使用情况时,经常会看到 "kproc"(PID 516)进程占有很高的CPU使用率. 这种情况是正常的,此进程代表系统的空闲时间.一般情况,在系统负载不是很高的时候,此进程占CPU达到50% 或更高.
按照上面说法,kproc进程只会有一个,可能AIX有问题,查阅文档或contact AIX support
http://www.mamiyami.com/doc/oracle9i/a97297/appa_aix.htmUsing Asynchronous I/O ....The number of kproc servers determines the number of AIO requests that can be executed in the system concurrently, so it is important to tune the number of kproc processes when using filesystems to store Oracle9i datafiles. ...意思是你的oracle9i使用文件系统(不使用裸设备),并且使用了AIX的 AIO,那么kproc的数量会随着并发访问数据库的数量增加。如果不限制kproc的数量,内存会用尽。文章里面有如何设置kproc数量的做法
却不知道怎么查 MINSERVERS and MAXSERVERS 的值。
是不是因为kproc的数量受到限制出的问题?
10个应该就够了
我回忆了一下,好像AIX上次重启就是在这两天。以后Oracle数据库也死过,但是只是重启了Oracle服务,没有重启AIX。而且重启Oracle服务以后,内存状况并不乐观。不知道那些三月份的进程为什么会滞留。
# smit aio
# chdev -l aio0 -a maxservers='m' -a minservers='n' 不会出问题吧?那边的系统压力很大,万一出问题,可就麻烦大了。
还有,m和n分别设多大合适啊?
1.先看看maxservers目前的值(万一有问题,改回去)
2.minservers没有必要改
http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/cmds/aixcmds3/lsdev.htm#HDRA29895E1
max= min*2
取 磁盘数量/10 和 MAXSERVERS/2的最大值?你会用man吗?
lsattr行不行?