打算写下这些为本周部门交流做准备,好好理顺下自己对简单系统管理的认识,知识来源主要是是机械工业出版社的 《Solaris 性能与工具》。欢迎指点。   这里的测试都在sparc平台下的solaris9之后的操作系统上,linux上对号入座是行不通的。

对于服务器而言,我们一般会关注cpu的个数,主频,负载情况。相关命令prtdiag  psrinfo cpustat mpstat vmstat .

查看硬件信息,可以用prtdiag,可以看到以下是信息

bash-3.00# prtdiag
System Configuration:  Sun Microsystems  sun4u Sun Fire V100 (UltraSPARC-IIe 500MHz)
System clock frequency: 100 MHz
Memory size: 768 Megabytes========================= CPUs =========================Run   Ecache   CPU    CPU
Brd  CPU   Module   MHz     MB    Impl.   Mask
---  ---  -------  -----  ------  ------  ----0     0     0      500     0.2   13       1.4========================= IO Cards =========================Bus#  Freq
Brd  Type  MHz   Slot  Name                              Model
---  ----  ----  ----  --------------------------------  ----------------------0   PCI-0  33     0   dma-isadma0   PCI-0  33     0   rtc-m5819                         m58190   PCI-0  33     0   power-acpi-power0   PCI-0  33     0   SUNW,lomh0   PCI-0  33     0   serial-su165500   PCI-0  33     0   serial-su165500   PCI-0  33     0   flashprom                         SUNW,258-78830   PCI-0  33     0   i2c-i2c-smbus0   PCI-0  33     0   ppm-SUNW,smbus-ppm0   PCI-0  33     0   beep-SUNW,smbus-beep0   PCI-0  33     0   fan-control-SUNW,smbus-fan-contr+

可以看到内存,cpu,以及接口等信息,这是一台cpu主频为500m Hz,内存为768m的sparc机器,而那个100mHz是系统总线的频率,更直白些,就是外频。

如果要看cpu硬件信息,可以使用prsinfo 这一个命令,-p参数显示cpu个数,-v显示内核状态,-vp 显示的是线程数

bash-3.00# psrinfo -v
Status of virtual processor 0 as of: 07/31/2012 17:21:24on-line since 07/13/2011 16:22:45.The sparcv9 processor operates at 500 MHz,and has a sparcv9 floating point processor.
bash-3.00# psrinfo -p
1
bash-3.00# psrinfo -vp
The physical processor has 1 virtual processor (0)UltraSPARC-IIe (portid 0 impl 0x13 ver 0x14 clock 500 MHz)

因为cpu是多核,每个核又有几个线程,如果要查看核数,请用下面命令:

-bash-3.00$ kstat cpu_info|grep core_id|uniq
        core_id                         66
        core_id                         68
        core_id                         70
        core_id                         72
        core_id                         74
        core_id                         76
        core_id                         78
        core_id                         80

当然,这些不是重点,我们关注的是系统运行时cpu的状态。

1.vmstat(从命令行粘过来会列对齐错乱,就截了个图)

 

kthr(应该是kerneral thread)中的三列 r b w ,分别代表运行,阻塞,等待的线程数,可以据此查看cpu饱和度(负载程度)。

还有一个快速查看饱和度的命令

uptime:

bash-3.00# uptime2:26pm  up 384 day(s), 22:04,  2 users,  load average: 1.46, 1.47, 1.48
You have new mail in /var/mail/root

load average后面的数值代表了cpu在1分钟,5分钟,15分钟的每个运算周期的平均负载(即线程数,),这个平均值对性能评估意义不大。无法检测出峰值的负载。

sar (system activation report)命令,是一个非常好用的系统信息统计工具。其默认是统计cpu信息的(-u)

以下是示例

bash-3.00# sar 1 5SunOS xxxx 5.10 Generic_118833-33 sun4u    08/01/201214:47:08    %usr    %sys    %wio   %idle
14:47:09      88      12       0       0
14:47:10      94       6       0       0
14:47:11      76       7       0      17
14:47:12      92       6       0       2
14:47:13      93       7       0       0Average       89       8       0       4

一秒统计一次,计五次。关于sar 命令,是可以单独写一篇文章的,看操作系统上的man手册就可见一斑。查看单个cpu利用率的统计命令是mpstat,这里就不贴命令结果了。

以上所写的,是不能直接解决问题的,我们只是看到了cpu的使用状况,而不是谁在用cpu。谁在用cpu,用了多少,这是进程和线程的事情了,这里需要介绍一个叫做prstat的命令。以下是默认显示的片段,包含pid,使用内存大小和cpu使用百分比,默认按照cpu使用百分比排序:

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP27235 root     3344K 3016K cpu0    59    0   0:00:00 0.3% prstat/1920 noaccess  163M   58M sleep   59    0  22:49:31 0.3% java/23956 dbadm     115M   42M sleep   59    0  14:13:33 0.2% java/37140 root     3928K 2024K sleep   59    0   0:44:02 0.0% nscd/3126621 sybase   8216K 2664K sleep   59    0   0:00:01 0.0% sshd/127789 root     2320K 1344K sleep  100    -   1:07:05 0.0% xntpd/1

PID USERNAME 是进程号,用户名

SIZE 和RSS是映射虚拟内存大小和占用物理内存

STATE 进程状态

PRI 优先级 数字越大优先级越高

TIME 累计使用cpu时间

PROCESS/NLWP 进程名(执行文件名)/线程数

prstat 可以对进程(线程)进行各种统计排序,

对线程进行统计,可以使用 -L参数,

用按指定列排序 使用 -s + 列名  例如 prstat -s rss 就是按照使用物理内存量排序

按某uid使用资源总量 -t 针对一个用户,列出资源 -U + uid

每一个zone使用的资源统计 -Z

列出用户和进程的相关信息,相当于 prstat 后跟进了一个prstat -t

以上是對cpu和進程資源的使用情况进行分析的命令,下面写下磁盘性能相关的的命令iostat,sar。对于磁盘我们一般关注的性能问题是读写速度,使用率(繁忙百分比)。使用iostat可以获得磁盘性能信息,常见参数解释:

-D 新风格

-e 显示设备错误统计数据

-M 以MB/s为单位显示吞吐

-n 使用磁盘逻辑名显示,默认实例名

-p 显示每个分区和设备的和分区的统计数据

-P 只显示分区统计信息

-x 扩展磁盘统计数据 ,条目更多。

-z 不显示全部为0的行

-m 显示挂载点(配合-p或者-P)

一个例子

bash-3.00# iostat -zxnpm
                    extended device statistics
    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
    0.0    0.7    0.5    5.6  0.0  0.0    0.7    0.7   0   0 c0t0d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.9    0.7   0   0 c0t0d0s0 (/)
    0.0    0.0    0.0    0.0  0.0  0.0   14.8   15.4   0   0 c0t0d0s1 (/usr/openwin)
    0.0    0.2    0.0    0.4  0.0  0.0    0.1    0.3   0   0 c0t0d0s3 (/var)
    0.0    0.0    0.0    0.0  0.0  0.0    5.0   10.7   0   0 c0t0d0s4
    0.0    0.5    0.5    5.1  0.0  0.0    0.7    0.8   0   0 c0t0d0s5 (/opt)
    0.0    0.0    0.0    0.0  0.0  0.0    3.0    2.0   0   0 c0t0d0s6 (/usr)
    0.0    0.0    0.0    0.0  0.0  0.0    2.2    2.9   0   0 c0t0d0s7 (/export/home)

kr/s 读速率 kw/s 写速率  %w 等待百分比 %b 忙百分比 wait 等待的平均数量 actv被响应事物数量 wsvc_t平均等待时间 asvc_t平均运行时间

。更多的內容,可以man。

对于那些进程占用比较多的cpu,内存,都有命令可以找出。对io呢,如何找出正在大量占用磁盘的进程呢?这里有三个个很实用的脚本iotop(

和iosnoop,psio(http://www.brendangregg.com/psio.html) 。 其中iotop和iosnoop只能在s10及以后版本使用,因为使用dtrace了。

不是每个用户都有权限使用dtrace的,如果不是root,又想使用dtrace,请参照

http://www.solarisinternals.com/wiki/index.php/DTrace_Topics_Guide以  

以下是增加權限过程:

As user1,
$ id
uid=1001(user1) gid=1(other)
$ ppriv $$
214885: -sh
flags = <none>
        E: basic
        I: basic
        P: basic
        L: all
$ exit

As root,
# grep user1 /etc/user_attr 
# usermod -K defaultpriv=basic,dtrace_user,dtrace_proc user1
# grep user1 /etc/user_attr
user1::::type=normal;defaultpriv=basic,dtrace_user,dtrace_proc
# su - user1
$ ppriv $$
285007: -sh
flags = <none>
        E: basic,dtrace_proc,dtrace_user
        I: basic,dtrace_proc,dtrace_user
        P: basic,dtrace_proc,dtrace_user
        L: all

转载于:https://www.cnblogs.com/doita/archive/2012/08/03/2617234.html

Solaris 性能基础相关推荐

  1. 第123天学习打卡(Redis 测试性能 基础知识 Redis-Key String List)

    测试性能 redis-benchmark是一个压力测试工具! 官方自带的性能测试工具! 官方网址:Redis 性能测试 | 菜鸟教程 (runoob.com) 简单测试一下: #测试:100个并发连接 ...

  2. sql server 性能_SQL Server性能基础

    sql server 性能 "The goal of monitoring databases is to assess how a server is performing. Effect ...

  3. 性能基础之全链路压测知识整理

    文章目录 一.什么是全链路压测? 二.全链路压测解决什么问题? 三.什么时机下需要? 四.如何展开全链路压测? 1.梳理核心链路和边界 2.数据模型构建 3.流量平台搭建 4.容量规划 4.1.为什么 ...

  4. 性能基础 -- 性能指标

    文章目录 1. CPU 1.1 名次概念 1.2 CPU指标 1.3 负载查看 1.4 参考文档 2. Network 1. CPU 1.1 名次概念 物理cpu数:主板上实际插入的cpu数量,可以数 ...

  5. 性能之巅:常用性能分析方法

    目录 为了便于总结,这些方法已经被归类成了不同的类型 1.街灯讹方法 2.随机变动讹方法 3.责怪他人讹方法 4.AdHoc核对清单法 5.问题陈述法 6.科学法 7.诊断循环 8.工具法 9.USE ...

  6. Solaris 常见问题

    转自:http://bbs.chinaunix.net/thread-1127665-1-1.html 简介 这篇文档包含了你用Solaris和Sun平台工作时所需要的最重要的20%的技术.它能处理你 ...

  7. 20%的SOLARIS知识解决80%的问题

    Solaris下ps -ef命令回显CMD列80个字符长度的限制 /usr/ucb/ps -auxww pargs -l 1314 20%的SOLARIS知识解决80%的问题 德国Sun微系统股份有限 ...

  8. 传统网站性能优化的三种手段

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 对于技术人而言,性能优化是一个亘古不变的话题.而随着框架 ...

  9. 企业视觉-大型电商(系统)高性能-用户视觉性能(1)

    1>用户视觉性能 前端人员调整浏览器缓存和html 等优化,利用cdn服务,前端人员尽可能做到用户优先感兴趣的优先显示出来. 1.1>合并技术: css +js合并或图片合并 1.2> ...

最新文章

  1. VC:其他控件(CProgressCtrl、CScrollBar、CDateTimeCtrl、CMonthCalCtrl)
  2. 三大运营商齐发力大数据
  3. 变量/值类型/引用类型/常量/枚举
  4. 修改远程桌面连接端口
  5. mysql between and的用法的意思_从入门到入土:MySQL完整学习指南,包教包会!
  6. JAVA入门级教学之(方法-2)
  7. linux db2 权限管理,DB2五种管理权限
  8. 设置双网卡mic linux,linux双网卡绑定为逻辑网卡
  9. matlab打开模型步骤,基于Matlab/Simulink的模型开发(连载一)
  10. FPGA教程和allegro教程-链接
  11. 2022高处安装、维护、拆除考试练习题及答案
  12. CHM格式 打开后不显示内容的解决办法
  13. win7显示隐藏文件夹的方法
  14. 个人理财--知识点总结
  15. 数据存储设备的发展历史
  16. 迅为i.MX6ULL终结者Mfgtools修改单独只烧写Uboot,内核,文件系统
  17. 一个几乎免费的云服务器和虚拟主机平台
  18. 迅为嵌入式linux驱动开发笔记(十一)—触摸屏驱动
  19. 【论文阅读】基于混淆的加强网络安全的方法
  20. css中的auto属性

热门文章

  1. python金字塔图绘制_如何用R或Python绘制3d(4变量)三元(金字塔)图?
  2. css 透明_css属性transparent有时候并不是透明的
  3. linux gnome3安装_Windows 10安装与管理WSL体验原生Linux系统
  4. 数据挖掘领域的主要会议
  5. 思想开放-学数学之人必备的特质(转载)
  6. 常用计算机文章搜索方法总结
  7. 20201028 《计算感知》第4节课 笔记
  8. AtCoder AGC007E Shik and Travel (二分、DP、启发式合并)
  9. git submoule 更新_微软Surface Duo双屏手机键盘更新:支持分体式输入
  10. php ip访问mysql什么配置_PHP与MYSQL配合完成IP的存取