- 论坛徽章:
- 0
|
这那里够用啊,如:
你用isainfo看完里系统启动的哪种kernel,你可能想进一步看看内存里启动了哪些kernel module:
# modinfo
Id Loadaddr Size Info Rev Module Name
0 1000000 b5760 - 0 unix ()
1 106c6d8 19e36 - 0 krtld ()
2 107feb0 180330 - 0 genunix ()
3 11b1528 a8 - 0 platmod ()
4 11b15c0 bd80 - 0 SUNW,UltraSPARC-II ()
6 11be000 44a0 1 1 specfs (filesystem for specfs)
...
看了kernel module启动了,或许可能想进一步看看其数据结构:
# kstat |more
...
module: cpu_info instance: 2
name: cpu_info2 class: misc
chip_id 2
clock_MHz 450
cpu_type sparcv9
crtime 91.083890136
fpu_type sparcv9
implementation UltraSPARC-II
snaptime 23372.605727035
state on-line
state_begin 1083292792
...
看了数据结构,或许又关心下内存如何分配的,kernel占了多大:
# sar -k 1
SunOS u60 5.10 s10_54 sun4u 04/30/2004
17:11:35 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail
17:11:36 14107136 10459228 0 102178816 96087616 0 18350080 0
看了常驻内存的kernel,有想看看内存里跑的程序有多少,程序的进程是那些,进程的线程有多少, 堆栈多大,进程开了那些文件:
# ps -ecL
PID LWP CLS PRI TTY LTIME CMD
0 1 SYS 96 ? 0:00 sched
1 1 TS 59 ? 0:00 init
2 1 SYS 98 ? 0:00 pageout
3 1 SYS 60 ? 0:16 fsflush
539 1 TS 59 ? 0:00 sac
323 1 TS 59 ? 0:00 utmpd
294 1 TS 59 ? 0:00 nscd
...
# ptree
74 /usr/lib/sysevent/syseventd
82 /usr/lib/crypto/kcfd
85 /usr/lib/picl/picld
198 /usr/lib/inet/in.ndpd
...
705 /usr/dt/bin/dtterm -session dt_jaWxb -C -ls
731 -csh
844 dic
1469 sh
1470 csh
1493 ptree
...
# pmap 824
824: /bin/ksh -p /usr/dt/appconfig/SUNWns/netscape
00010000 200K r-x-- /usr/bin/ksh
00052000 8K rwx-- /usr/bin/ksh
00054000 48K rwx-- [ heap ]
FF210000 328K r-x-- /usr/lib/locale/zh_CN.GB18030/zh_CN.GB18030.so.3
FF270000 8K rwx-- /usr/lib/locale/zh_CN.GB18030/zh_CN.GB18030.so.3
FF280000 840K r-x-- /lib/libc.so.1
FF362000 32K rwx-- /lib/libc.so.1
FF36A000 8K rwx-- /lib/libc.so.1
FF380000 8K r-x-- /usr/lib/locale/zh_CN.GB18030/methods_zh_CN.GB18030.so.3
FF390000 8K rwx-- /usr/lib/locale/zh_CN.GB18030/methods_zh_CN.GB18030.so.3
FF3AA000 8K rwxs- [ anon ]
FF3B0000 168K r-x-- /lib/ld.so.1
FF3EA000 8K rwx-- /lib/ld.so.1
FF3EC000 8K rwx-- /lib/ld.so.1
FF3F8000 16K r-x-- /platform/sun4u/lib/libc_psr.so.1
FFBFC000 16K rw--- [ stack ]
total 1712K
...
# pfiles -F 824
824: /bin/ksh -p /usr/dt/appconfig/SUNWns/netscape
Current rlimit: 256 file descriptors
0: S_IFCHR mode:0666 dev:286,0 ino:6815752 uid:0 gid:3 rdev:13,2
O_RDONLY|O_LARGEFILE
1: S_IFCHR mode:0620 dev:286,0 ino:4 uid:126158 gid:7 rdev:0,0
O_WRONLY|O_LARGEFILE
2: S_IFCHR mode:0620 dev:286,0 ino:4 uid:126158 gid:7 rdev:0,0
O_WRONLY|O_LARGEFILE
61: S_IFREG mode:0600 dev:293,2 ino:6185276 uid:126158 gid:10 size:0
O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE FD_CLOEXEC
62: S_IFREG mode:0755 dev:32,32 ino:57970 uid:0 gid:3 size:6312
O_RDONLY|O_LARGEFILE FD_CLOEXEC
...
看了程序/进程/线程/调用文件,你或许又要关心下当前系统对进程的分配调度规则,哪个先哪个后呢:
# dispadmin -l
CONFIGURED CLASSES
==================
SYS (System Class)
TS (Time Sharing)
FX (Fixed Priority)
IA (Interactive)
RT (Real Time)
FSS (Fair Share)
# priocntl -l
CONFIGURED CLASSES
==================
SYS (System Class)
TS (Time Sharing)
Configured TS User Priority Range: -60 through 60
IA (Interactive)
Configured IA User Priority Range: -60 through 60
...
看了调度规则,你可能想看看当前系统把那些CPU给那些进程了,还是所有进程共享呢:
# pooladm -e
# poolcfg -dc info
...
pset oracle-pset
int pset.sys_id 1
boolean pset.default false
...
看了CPU可能是共享的,这时看看个CPU的负载是否有不同呢:
# mpstat 1
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 0 0 200 402 302 139 53 1 0 0 150 100 0 0 0
1 0 0 0 102 100 83 0 3 0 0 105 2 0 0 98
2 0 0 0 118 104 85 0 1 0 0 26 1 1 0 98
如发现CPU负载有问题,有想去了解下有无内存给CPU用呢:
可用说的vmstat, 还可查下CPU在从内存读数据时,对内存数据的命中率,100%?
# sar -b 1 100
SunOS u60 5.10 Generic_118822-08 sun4u 11/18/2005
14:20:45 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
14:20:46 0 0 100 0 0 100 0 0
14:20:47 0 0 100 0 0 100 0 0
14:20:48 0 0 100 0 0 100 0 0
...
看了内存情况,心里有点嘀咕,这系统关于内存是如何设的呢,何时把内存排不下的数据仍回到硬盘上的:
# netstat -k
...
system_pages:
physmem 63284 nalloc 11786054 nfree 11708436 nalloc_calls 5350 nfree_calls 4502
kernelbase 268435456 econtig 285212672 freemem 15428 availrmem 55955 lotsfree 977
cachefree 977 desfree 488 minfree 244 fastscan 8192 slowscan 100 nscan 0
desscan 25 pp_kernel 6089 pagesfree 15428 pageslocked 6579 pagestotal 62534
...
Solaris内存,为了速度,不是当CPU修改后立刻再写回硬盘,而到一定程度,即Water Mark - bufhwm:
缺省约占2%的物理内存,如你想修改,又得看/etc/system的参数:
# more /etc/system
...
或直接debug:
# adb -k /dev/ksyms /dev/mem
...
看了内存关于读写硬盘,可能直接看I/O了:
包括你的iostat 和 netstat, 还有busstat, nfsstat:
# nfsstat -rc
Client rpc:
Connection oriented:
calls badcalls badxids timeouts newcreds badverfs
21203 0 0 0 0 0
目录如使用SVM卷做的,还有:
# metastat
...
发现没用SVM卷,可能是ZFS:
# zpool df testpool
Pool size used avail capacity
-------------------- ------ ------ ------ --------
testpool 500M 56.0K 500M 1%
上述所有东西,发现可能是系统管理员给你的虚拟的OS实例Zone,那可看看系统有几个Zone呢:
# zoneadm list -cv
ID NAME STATUS PATH
0 global running /
1 cu running /a1000/cu
累死了,再看看系统里有那些服务呢:
# svcs -a|more
STATE STIME FMRI
legacy_run 17:16:59 lrc:/etc/rcS_d/S29wrsmcfg
legacy_run 17:17:19 lrc:/etc/rc2_d/S10lu
legacy_run 17:17:19 lrc:/etc/rc2_d/S20sysetup
legacy_run 17:17:19 lrc:/etc/rc2_d/S40llc2
legacy_run 17:17:19 lrc:/etc/rc2_d/S42ncakmod
legacy_run 17:17:19 lrc:/etc/rc2_d/S47pppd
...
disabled 17:15:25 svc:/system/metainit:default
disabled 17:15:25 svc:/platform/sun4u/mpxio-upgrade:default
disabled 17:15:26 svc:/network/ipfilter:default
...
online 17:17:38 svc:/milestone/multi-user-server:default
online 17:17:38 svc:/system/zones:default
offline 17:15:27 svc:/application/print/ipp-listener:default
offline 17:17:14 svc:/application/print/rfc1179:default
maintenance 17:17:20 svc:/network/ssh:default
...
看看系统里有那些加密方法呢,位数多少:
# cryptoadm list -m
用户级别的提供者:
=====================
Provider: /usr/lib/security/$ISA/pkcs11_kernel.so
无可用插槽。
Provider: /usr/lib/security/$ISA/pkcs11_softtoken.so
机制:
CKM_DES_CBC
CKM_DES_CBC_PAD
CKM_DES_ECB
CKM_DES_KEY_GEN
CKM_DES_MAC_GENERAL
...
内核软件提供者:
==========================
des: CKM_DES_ECB,CKM_DES_CBC,CKM_DES3_ECB,CKM_DES3_CBC
aes: CKM_AES_ECB,CKM_AES_CBC
arcfour: CKM_RC4
blowfish: CKM_BF_ECB,CKM_BF_CBC
sha1: CKM_SHA_1,CKM_SHA_1_HMAC,CKM_SHA_1_HMAC_GENERAL
md5: CKM_MD5,CKM_MD5_HMAC,CKM_MD5_HMAC_GENERAL
rsa: CKM_RSA_PKCS,CKM_RSA_X_509,CKM_MD5_RSA_PKCS,CKM_SHA1_RSA_PKCS
swrand: No mechanisms presented.
内核硬件提供者:
==========================
# mac -l
Algorithm Keysize: Min Max (bits)
------------------------------------------
des_mac 64 64
sha1_hmac 8 512
md5_hmac 8 512
# encrypt -l
算法 密钥大小: 最小 最大 (位)
------------------------------------------
aes 128 128
arcfour 8 128
des 64 64
3des 192 192
。。。
又想看看某些目录里的文件,被人修改了吗,可和以前的存档对比下:
# bart compare etc-2005-05-20 etc2005-05-30
用户的程序被允许运行了吗,尽管其拥有权力,但可能没分配,检查下:
# elfsign verify -e /oracle/xx
...哪有个完啊,谁接下。。。。 |
|