Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1446155
  • 博文数量: 239
  • 博客积分: 5909
  • 博客等级: 大校
  • 技术积分: 2715
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-24 20:19
文章分类

全部博文(239)

文章存档

2014年(4)

2013年(22)

2012年(140)

2011年(14)

2010年(59)

我的朋友

分类: LINUX

2011-09-21 11:37:01

1.CPU数量

hp-unix

ioscan -C processor | grep processor | wc -l

Solais

psrinfo -v | grep Status of processor |wc -l

linux

cat /proc/cpuinfo/grep processor|wc -l

AIX

lsdev -C | grep -i processor|wc -l


2) Memery数量

solaris

prtconf | grep -i mem

AIX

root>lsdev -C |grep mem

memo    Available  00-00 Memory

可见mem0是该aix设备上的内存设备名称,现在使用lsattr -EI 来查看该服务器上的内存数量

root>lsattr -EI memo

LINUX

free

HP-UNIXswapinfo -tm

///////////////////////////////////////

查看linux cpu信息
#dmidecode

#cat /proc/cpuinfo

查看linux 内存信息
#cat /proc/meminfo

#top
#free

查看linux硬盘大小
#df -hl

#fdisk

 

Solaris下查看CPU、内存等信息可以使用下边的命令:
#prtdiag -v

查看硬盘信息为:
#iostat -E

内存

1、solaris

  solaris通常使用vmstat命令来查看系统的虚拟内存子系统的状态信息。vmstat可显示swap,物理内存,分页错误,磁盘信息统计和错误等信息.

bash-3.00$ vmstat 2 3
kthr      memory            page            disk          faults      cpu
r b w   swap  free  re  mf pi po fr de sr f0 s0 s1 s2   in   sy   cs us sy id
0 0 0 730888 228436 43 196 62  1  1  0 38  0  6  0  0  313  557  343  3 10 87
0 0 0 731096 221556  3  25  0  0  0  0  0  0  0  0  0  341  111  208  0  3 97
0 0 0 731092 221548  0   0  0  0  0  0  0  0  0  0  0  334   90  205  8  3 89
【注意】
  swap为空余的swap空间(此处的swap为总的swap空间而不仅仅指swap分片的空间),free为空余的可用物理内存

  列出用于交换空间的硬盘分片或文件的使用情况:

bash-3.00# swap -l
交换文件             dev  swaplo blocks   free
/dev/dsk/c1t0d0s3   54,3       8 1048568 1048568

  列出交换空间的总体使用情况:

bash-3.00# swap -s
总数:分配了 113024k 字节 + 保留 15340k = 已使用 128364k,730172k 可用

  查看内存分页的汇总情况

bash-3.00# echo ::memstat | mdb -k
Page Summary                Pages                MB  %Tot
------------     ----------------  ----------------  ----
Kernel                      27734               108   22%
Anon                        29908               116   23%
Exec and libs                5862                22    5%
Page cache                  12306                48   10%
Free (cachelist)            18780                73   15%
Free (freelist)             34320               134   27%

Total                      128910               503

  此外还可以使用kstat查看内存的详细信息(以每个内存模块为单位)

$ kstat -m vmem | more
module: vmem                            instance: 1    
name:   heap                            class:    vmem
        alloc                           6254
        contains                        0
        contains_search                 0
        crtime                          0
        fail                            0
        free                            1200
        lookup                          113
        mem_import                      0
        mem_inuse                       86376448
        mem_total                       1646524366848
        populate_fail                   0
        populate_wait                   0
        search                          4381
        snaptime                        2441.858424006
        vmem_source                     0
        wait                            0
        ......

网络负荷监控
1、solaris

        最常见的都是用netstat命令,且redhat和solaris的常见使用方法基本一致。netstat命令可用来查看路由表、当前活跃的网络连接、各种网络数据结构、流内存统计,接口状态、DHCP等信息。常见的使用方式有:

netstat -rn   看路由
netstat -in   看流量统计
netstat -an  看连接信息
netstat -pn  看ARP解析表(MAC-IP映射表)


此外,solaris可以使用kstat命令查看网络信息

bash-3.00$ kstat -m e1000g | more                             模块(-m)可填网卡驱动类型,比如e1000g,e1000g0,bge,hme...
module: e1000g                          instance: 0    
name:   e1000g0                         class:    net
        brdcstrcv                       0
        brdcstxmt                       0
        collisions                      0
        crtime                          43.023212228
        ierrors                         0
        ifspeed                         1000000000
        ipackets                        3421
        ipackets64                      3421

 

ps -eo pid,pcpu,args |sort +1n

 

  solaris下查看进程的cpu占用率 收藏
solaris下查看某进程的资源占用率及其它

1.     # ps -eo pid,pcpu,args | sort +1n

该命令输出当前系统进程的pid, cpu占用率及命令描述,并以pcpu来排序(尝试过,没有成功,据说在RedHat上可行的。)

2. top -p

 


不同的系统top的设置不尽相同,因此使用时需要注意。

3. prstat -p
prstat 检查系统中进程占用CPU,内存等情况。可以代替top,不过好像solaris5.8之后才有,5.7上就没有。

4. 查看IO情况 iostat


iostat -x -I 1 若系统明显变慢,也可用此命令检查磁盘I/O情况


5. 查看CPU 可以用 psrinfo -v

查看详细信息

/usr/platform/sun4u/sbin/prtdiag -v

 6. sar

sar -u 3 20 若系统明显变慢,用此命令检查cpu占用率
sar –r 3 20 用此命令检查内存使用情况

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bonny95/archive/2009/09/15/4555216.aspx

 

Solaris进程的查看和管理
2009-03-07 15:53

1、什么是进程?

进程:可并发执行的程序在一定数据集合上的运行过程。进程即是资源分配的基本单位,也是调度和分派的基本单位。

2、UNIX操作系统进程调度算法:

多级反馈调度队列算法。

3、进程状态:创建、初始、就绪(活动、静止)、执行、阻塞(活动、静止)、结束。

4、进程监控命令:

ps 命令和进程工具/usr/proc/bin下的工具级。
可以将ps和grep命令组合使用来搜索特定的信息。

5、/usr/proc/bin的命令介绍:

pstop 停止进程
prun pid 重新启动进程
ptime pid 使用微状态计算进程时间
pwait pid 等待指定的进程终止.
pcred pid 显示可信度
pfiles pid 显示已打开文件的fstat 和fcntl 信息
pflags pid 显示每个lwp 的/proc 跟踪标志,等待和持有信号量以及其他状
态信息
pldd pid 显示链接到每个进程的动态链接库
pmap pid 显示地址映射空间
psig pid 显示信号操作
pstack pid 显示每个lwp 的十六进制与符号堆跟踪
ptree pid 显示包含指定PID 的进程树
pwdx oid 显示当前工作目录

6、ps命令格式:

ps [ -aAdeflcjLPy ] [ -o format ] [ -t termlist ] [ -u userlist ] [ -U userlist ] [ -G grouplist ] [ -p proclist ] [ -g pgrplist ] [ -s sidlist ]

7、常用的参数:

-e 输出所有进程报告
-f 在第一栏显示进程所有者的名字(不是UID)。该选项关闭-l、–t、–s 和–r 选项,打开-a 选项。
-l 产生一个长的输出报告,只是不包含STIME 字段

8、ps -el的相关输出参数解释:

bash-2.05$ ps -el

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
19 T 0 0 0 0 0 SY ? 0 ? 0:16 sched
8 S 0 1 0 0 40 20 ? 151 ? ? 0:00 init
19 S 0 2 0 0 0 SY ? 0 ? ? 0:00 pageout
19 S 0 3 0 0 0 SY ? 0 ? ? 0:30 fsflush
8 S 0 377 1 0 40 20 ? 223 ? ? 0:00 sac
8 S 0 378 1 0 40 20 ? 224 ? console 0:00 ttymon
8 S 0 131 1 0 40 20 ? 289 ? ? 0:00 rpcbind

F 十六进制标志,它们加起来表示进程的当前状态。如下所述:
00 进程终止,而且它们在进程表中的空间已释放。
01 系统进程,长驻内存
02 进程被父进程跟踪
04 进程被父进程跟踪而且已被停止
08 该进程无法被信号量唤醒
10 该进程当前在内存中,而且被锁定直到一个事件完成
20 进程不能被交换出

S 进程当前状态,由以下字母之一显示:
O 当前正在处理器上运行
S 睡眠;等待I/O事件完成
R 运行结束
I 空闲;进程被创建
Z 僵死。进程已终止
T 由于父进程跟踪而停止
X 等待更多的内存

UID 进程所有者的用户ID
PID 进程ID
PPID 父进程ID
C 进程的CPU使用情况(即进程占CPU时间的百分比)
PRI 进程优先权方案。较大的数表示较低的优先权
NI 进程的nice值,该值与优先权方案相关联。使一个进程“nicer”意指降低该进程的优先权,以使它不会用尽CPU的时间
SZ 进程请求的虚拟内存量。这是该系统对内存需求的一个好的指标。
TTY 启动进程(或者父进程)的终端。带问号的进程无控制终端(通常为系统进程)
TIME 自进程启动以来占CPU时间总量
COMD 产生进程的命令

9、使用ps报告。

查找属于一个用户的许多相同的工作。Kill命令终止进程。 ps -U username
查找TIME字段中占用了很多CPU时间的进程。这样的进程可能在死循环。ps -e
查找C字段,找出不重要但占用了大量CPU时间的进程。如果该进程获取过多内存,删除该进程。如果许多进程占用了大量内存,则系统可能需要增加内存。ps -el
注意使用越来越多CPU时间的失控进程。可以通过使用-f选项查看进程启动时间(STIME)以及通过查看TIME字段中的CPU时间总量来检测失控进程。 ps -f

10、删除进程。

在正常途径无法结束时才使用删除命令。
#kill - signal pid
signal:57
signal:
2 中断
3 退出
4 非法指令
5 跟踪中断
6 Abort
7 EMT指令(Emulation竞争trap)

8 浮点格式的异常情况
9 kill(不能被捕获或忽略)
10 通道错误
11不合法的内存区段
12 错误系统调用
13 写入不可读的连通管道
14 alarm clock
15 软件结束信号
16 用户定义的信号1
17用户定义的信号2
18 子进程状态被改变
19 电源坏掉
20窗口(Window)的大小被改变
21Urgent(紧急的) Socket Condition
22 Pollable(可查询的)event
23 停止
24 由用户终止
25 继续执行
26 停止终端输入
27 停止终端输出
28 virtual Timer expired
29 Profiling time expired
30 超过CPU时间
31 超过文件大小限制
32 Socket I/O possible

有时即使用kill命令,但进程仍未被删除。最有可能的三种情况:
进程在退出前等待设备完成操作。
进程在等待由于NFS故障而导致的无法使用的资源。要删除此类进程,输入kill -quit PID
进程为僵死进程,在ps报告的defunct的消息中显示。僵死进程是释放了所有资源,但未接受到父进程确认的进程。只有收到确认才删除进程在进程表中的入口。下一次引导时僵死进程会被清除。僵死进程不影响系统性能,不需要删除。

11、优先权控制命

使用priocntl命令可以:
显示或设置指定进程的调度参
显示系统调度程序的当前配置信息
执行带有指定调度参数的命令
每个进程都有不同的级,每级分配有各自不同的调度策略。
系统可能配置的级包括:
系统(SYS)
交互(IA)
实时(RT)
分式共享(TS)
对于分式共享级,用户提供的优先权范围为:-20~+20。一个
分时共享进程的优先权(用户模式优先权)是从父进程继承
而来。系统在分时调度表中查找用户模式优先权,加入任何
nice值或这者priocntl优先权值(用户提供),保证创建的全
局优先权在0~59之间。
在默认配置中,一个可运行的实时进程在任何其它进程之前运行。实时进程使用不当会导致系统性能急剧下降。
1. 显示进程级的基本信息(进程级或系统调度参数):
输入priocntl -l并回车
2. 显示进程的全局优先级
使用ps -ecl命令显示进程的全局优先权。全局优先权在PRI栏列出
3、指定进程的优先级:
输入priocntl -e -c class -m user -limit -p priority command - name回车
-e 执行命令
-c 指定级(默认选项是TS(分时共享)或RI(实时)
-m 用户限制选项,指定-p选项提升或降低优先权的最大量。
-p 允许指定用户提供的优先权,范围为-20~+20。

4.更改分时共享进程的调度参数
依照以下步骤更改分时共享进程的调度参数:
1)成为超级用户。
2)输入priocntl -s -m user -limit [-p priority] -i id type id -list回车。
-s允许设置用户优先权范围的上限
-m 用户限制选项,指定-p选项提升或降低优先权的最大量。
-p优先权命令名选项,允许指定优先权。
-I id -type和id -list选项使用id -type和id -list的组合标识进程, id -
type指定id类型,如PID或UID。
3)输入ps -ecl|grep id -list回车。
4)检查PRI栏的输出,验证已经成功地更改了进程状态。
% priocntl -s -c RT -t 500 -p 20 myprog
% ps -ecl|grep myprog

5. 更改进程
依照以下步骤更改进程级:
1)成为超级用户。
2)输入priocntl -s -c class -i id type id -list回车。
-s允许设置用户优先权范围的上限并更改优先权
-c 指定想更改的进程级为TS(分时共享)级或RI(实时)级
-I id -type和id -list选项使用id -type和id -list的组合标识进程, id -type指定id
类型,如PID或UID。
3)输入ps -ecl|grep id -list回车。
4)检查PRI栏的输出,验证已经成功地更改了进程状态。
注意:必须是超级用户或者在实时shell中操作,更改进程级为非实时级或者实时级。

6、更改进程优先级
使用nice命令可以提高或降低一个命令或进程的优先权。
不带参数使用该命令则默认nice值增4个单位,使进程优先
权降低。
注意:必须是超级用户才能。

/usr/bin/nice command -name(默认,进程的优先权降低4个单位)
/usr/bin/nice +10 command -name(进程的优先权降低10个单位)
/usr/bin/nice -10 command -name(进程的优先权增加10个单位)
/usr/bin/nice - -10 command -name(nice 值减少10个单位,提高一个命令的优先权)
   
[转]Solaris下简单的查看端口号被哪个进程占用的方法

 

 

 


1. Solaris 10及一些系统补丁的安装日志一般可以在/var/sadm/install_data目录和/var/sadm/install目录中找到。
2. 用户登录日志可以使用last命令列出
3. a) netstat -na | grep -i listen通常可以看到目前系统侦听的端口号
    b) netstat -f inet 和 netstat -f inet6可以看到目前所建立的连接
    c) 要想知道某个端口被那个进程所使用,可以使用下面的方面得知:

-bash-3.00# cd /proc
-bash-3.00# for i in *
> do
> echo ------ process $i ---------
> pfiles $i | grep -i "port: 32805"
> done
------ process 0 ---------
------ process 1 ---------
------ process 1025 ---------
------ process 1035 ---------
------ process 1037 ---------
------ process 1038 ---------
------ process 1039 ---------
------ process 1040 ---------
------ process 1041 ---------
------ process 1166 ---------
------ process 123 ---------
------ process 12535 ---------
------ process 12536 ---------
------ process 134 ---------
------ process 141 ---------
------ process 142 ---------
------ process 148 ---------
------ process 164 ---------
------ process 1679 ---------
------ process 1807 ---------
------ process 1817 ---------
------ process 18459 ---------
------ process 18462 ---------
------ process 18464 ---------
------ process 18612 ---------
------ process 18613 ---------
------ process 18615 ---------
------ process 18639 ---------
------ process 18653 ---------
------ process 18680 ---------
------ process 2 ---------
------ process 226 ---------
------ process 290 ---------
------ process 3 ---------
------ process 302 ---------
------ process 303 ---------
------ process 311 ---------
------ process 334 ---------
------ process 372 ---------
------ process 376 ---------
------ process 397 ---------
------ process 398 ---------
------ process 400 ---------
------ process 416 ---------
------ process 418 ---------
------ process 432 ---------
------ process 434 ---------
------ process 435 ---------
------ process 436 ---------
------ process 442 ---------
------ process 443 ---------
------ process 458 ---------
------ process 463 ---------
------ process 464 ---------
------ process 465 ---------
------ process 564 ---------
------ process 565 ---------
------ process 566 ---------
------ process 598 ---------
------ process 599 ---------
------ process 613 ---------
------ process 619 ---------
------ process 631 ---------
------ process 633 ---------
------ process 634 ---------
------ process 637 ---------
------ process 651 ---------
------ process 653 ---------
------ process 666 ---------
------ process 686 ---------
------ process 689 ---------
------ process 6929 ---------
------ process 6932 ---------
------ process 6934 ---------
------ process 6958 ---------
------ process 6959 ---------
------ process 6960 ---------
------ process 7 ---------
------ process 763 ---------
------ process 834 ---------
------ process 836 ---------
------ process 837 ---------
------ process 838 ---------
------ process 839 ---------
------ process 840 ---------
------ process 9 ---------
------ process 990 ---------
------ process 991 ---------
------ process 992 ---------
        peername: AF_INET 127.0.0.1  port: 32805
------ process 993 ---------
------ process 994 ---------
        sockname: AF_INET 127.0.0.1  port: 32805

从以上的结果可以得知,端口32805被进程992和994所使用。可以进一步使用pfiles 来确认。

ps -e -o pid,pcpu,pmem,comm | more
  PID %CPU %MEM COMMAND
    0  0.0  0.0 sched
    1  0.0  0.0 /etc/init
    2  0.0  0.0 pageout
    3  0.1  0.0 fsflush
1406  0.0  0.1 /usr/lib/saf/sac
  805  0.0  0.0 /usr/lib/utmpd
  620  0.0  0.1 /usr/lib/nfs/lockd
   17  0.0  0.2 vxconfigd
   74  0.0  0.1 /usr/lib/sysevent/syseventd
  161  0.0  0.1 /sbin/vxesd
  348  0.1  0.1 /usr/lib/picl/picld
   80  0.0  0.0 /usr/lib/sysevent/syseventconfd
  472  0.0  0.5 /opt/VRTSob/bin/vxsvc
  151  0.0  0.1 devfsadmd

阅读(5456) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~