服务器 频道

Solaris 常见问题

  11.提示集

  11.1 3个首要提示

  l c-shell: 在~/.cshrc中定义 set filec和set history=100 savehist=50, 一旦你按下esc键, shell将完成文件名和目录名. History列出最后的100条命令, 用!13用让编号13的命令重新出现.!$用于列出先前命令的最后一个参数, 象: mkdir /export/home/demo/test后键入cd !$. 从solaris 8开始, tcsh有效了, 它有用光标键编辑命令行和浏览历史命令的功能.

  l 进程控制 : 从solaris 8 O以后, 可以用pkill <搜索文本> 去替代由ps –ef|grep <搜索文本>, 然后kill <搜索文本的PID>所能达到的功能. Kill -9 -1中断属于当前用户的所有进程.

  l 文件编辑: 不喜欢vi的人可用CDE的编辑器dtpad.

  11.2 硬件配置分析

  11.2.1 prtdiag

  /usr/platform/`uname –i`/sbin/prtdiag –v命令显示CPU的数量及类型, RAM, 扩展卡等硬件配置信息.

  11.2.2 prtcon/path_to_inst

  prtconf 以阶层的形式列出设备目录. 用逻辑设备(驱动程序在/dev)映射物理设备(在/devices下指定)的说明在/etc/path_to_inst文件中. 当执行boot –r或devfsadm时, 这个文件被重写. 在把一张卡从一个PCI槽移到另一个槽后, 必须编辑这个文件. 在该文件中, /dev/hme1被连接到一个特定槽. Reboot不能重新定义这个关系.

  警告: 手工编辑/etc/path_to_inst需要设备路径操作的高级经验. 编辑错误会导致系统不能引导!

  11.2.3 explorer

  该工具能从SunSolve( http://sunsolve.sun.com/pub-cgi/show.pl?target=explorer/explorer ) 下载. 它搜集所有重要的系统信息. 它能用于准备服务命令, 备份配置数据和快照配置等.

  

  11.3 运行时数据分析

  11.3.1 time/ptime

  较简单的运行时分析工具有time(0.1sec解析)和ptime(1msec解析), 它们能加入命令行. time gzip j2sdk.tar.gz 的结果分成用户(程序)时间, 系统时间和用去的时间.

  11.3.2 top/prstat/ps

  solaris下的prstat类似于其他平台下的top工具./usr/ucb/ps –aux显示相近的结果, 但它没有排序且不能自动更新.

  ps –L –p <process-ID>列出有线程的进程及其线程数.

  11.3.3 vmstat/mpstat

  vmstat <以秒计频率>列出系统负载明细. 下面行列出大多数有趣的:

  free: 空闲内存(直到solaris 7此值接近零, 因为有用磁盘缓存. 从solaris8开始反映了的正确值.)

  page pi/po: 页面调度行为. 系统不交换直到在交换设备上i/o流量被报告!

  Cpu us: user-time. 被应用程序消耗的百分比.

  Cpu sy: system-time.被solaris系统消耗的百分比.

  Cpu id: idle-time.

  Vmstat参数输出结果解释(原文没有,RACE注)

  procs 报表下面三种状态的进程数:

  r--在运行队列中等候运行

  b--被资源阻塞(I/0,页面调度,等等.)

  w--可运行但是被换出的

  memory 报告虚拟内存和实存信息:

  swap--以千字节为单位的当前可用交换空间的数量

  free--以千字节为单位的页自由表大小

  page 报告每秒页面调度活动数量的信息:

  re-从自由表回收页

  mf--次要的错误;地址空间或硬件地址转换错误

  pi--页入的千字节数

  po -页出的千字节数

  fr- 释放的千字节数

  de--以千字节为单位的可接受的短期内存不足数

  sr--页由时钟算法扫描

  disk 可以为四个磁盘报告每秒磁盘I/O的数量

  faults 报告每秒系统软件中断和硬件中断的速率

  in-设备中断,不包括系统时钟中断

  sy-系统调用

  cs-CPU任务(上下文)交换

  cpu-- CPU故障时间的百分比,在多处理器系统上,这是全部处理器的平均值:

  us- 用户时间

  sy-- 系统时间

  id-- 闲置时间

  

  mstat 打印类似信息, 每个处理器一行.

  mpstat输出结果解释(原文没有,RACE注)

  *CPU——处理器ID

  *minf——一般故障

  *mjf ——重大故障

  *xcal——处事器间的交叉调用

  *intr——中断

  *ithr——线程中断,不计时钟中断

  *csw——任务交换

  *icsw——非主动任务交换

  *migr——向另一处理器的线程转移

  *smtx——互斥信号旋转(第一次时不要求锁定)

  *srw——读/写锁定旋转(第一次时不要求锁定)

  *syscl——系统调用

  *usr ——用户时间百分比

  *sys——系统时间百分比

  *wt——等待时间百分比

  *idd——空闲时间百分比

  

  11.3.4 iostat

  iostat –xtcP <以秒计频率>列出系统i/o负载.每一个分区或NFS装载打印一行. “kr/s”和”kw/s”行显示以千字节/秒为单位的读写吞吐量. 若”svc_t”大于100表明那磁盘用于磁头(?)分配的时间多过数据传送的时间.

  iostat输出结果解释(原文没有,RACE注)

  tin每秒输入的字符数

  tout每秒输出的字符数

  kps每秒传输的千字符数

  tps每秒传输的操作次数

  serv以毫秒计的的平均服务时间

  最后一组报告了CPU使用率:

  us用户状态所占百分比

  sy系统状态所占百分比

  wt等待状态所占百分比

  id空闲时间所占百分比

  us用户状态所占百分比

  ni用于运行nice或renice的进程的时间所占百分比

  sy系统状态所占百分比

  id空闲时间所占百分比

  r/s每秒的读传输操作

  w/s每秒的写传输操作

  kr/s每秒的千字节数

  kw/s每秒写的千字节数

  wait在设备队列中等待命令的平均数目

  actv在处理中的命令的平均数目

  svc_t服务时间(* 是指为一条命令服务的平均时间,这里包括为等待在处理队列中前面的命令所耗费的时间)

  %w在队列等待时间的百分比

  %b设备忙的时间的百分比

  

  11.3.5 sdtperfmeter, sdtprocess

  sdtperfmeter是一个图形工具, 它将vmstat的数据作为柱形或条形图. 该工具的最小化版本显示在CDE面板. Sdtprocess显示用某种方式排序的所有进程. 可用于深入察看进程特性, 中断进程等.

  11.3.6 32或64位?

  Isainfo –kv 显示系统内核是32还是64位. UltraSPACR-II系统自动启动64位内核 ; 在ok状态下, 用boot kernel/unix而不是boot kernel/sparcv9/unix可以明确地装入32位内核 . 而UltraSPARC III只有64位内核.

  11.4 调试

  11.4.1 Truss,

  命令truss <command> 列表应用程序执行过程中所有的系统调用,由于列表中还包含系统调用的参数和返回,因而我们可看到应用程序调用的共享库和配置文件以及它们的文件位置。

  11.4.2 pstack,pmap

  "p*-command" 输出属于该进程的详细信息

  pstack <PID> 显示进程的最后一个子程序名

  pldd <PID> 显示共享连接库列表

  pmap -x <PID> 显示该进程与它的装载模块的内存使用情况

  11.4.3 snoop

  snoop 输出通过网卡所有的包

  

  11.5 常见问题

  

  1. 启动进程过长

  OBP 设置:ls diag-swith?=true ??

  2. 不能用FTP登陆,但telnet、ssh可以

  在/ect/ftpuser中设置不允许用户FTP登陆

  3. VI 不能正确的显示

  查看变量term 是否定义,如果没有,设置term=vt100

  

  
0
相关文章