您的位置:首页 > 运维架构 > Linux

linux命令查看性能资源相关

2015-11-24 17:00 267 查看
一、查看系统基本信息
uname -a # 查看内核/操作系统/CPU信息
head -n 1 /etc/issue # 查看操作系统版本, linux版本
cat /proc/cpuinfo # 查看CPU信息, 几核的
hostname # 查看计算机名
lsmod # 列出加载的内核模块
env # 查看环境变量

二、svn命令
1、svn log 查看日志信息
2、svn info 可以查看版本信息,查看文件信息
3、svn update 更新 (简写up)
4、svn switch (sw): 更新工作副本至不同的URL。
5、svn co 代码路径 下载svn代码

三、Linux下查看apache进程: ps -ef|grep httpd
Linux下查看Java进程:ps -ef |grep java
Linux下查看nginx进程:ps -ef |grep nginx

四、rpm -qa # 查看所有安装的软件包
rpm –qa|grep httpd 查看是否已安装了Apache

五、SAR命令
CPU存在瓶颈,可用sar -u 和sar -q来看,
I/O存在瓶颈,可用sar -b、sar -u和 sar-d来看
%iowait的值不能太高,如果%iowait的值过高,则CPU花在等待输入、输出上的时间太多,这意味着磁盘存在I/O瓶颈;
%idle的值处于40~100之间,一旦它持续低于30,则表明进程竞争的主要资源不是内存而是CPU。

六、jmap,分析内存
jmap -histo pid 在内存使用峰值前后分别dump一次,可以对比出GC回收了哪些对象。
1.sudo su admin -c "/opt/java_1.6.0.21/bin/jmap -histo pid > jmap.txt"
2.vi jmap.txt 一般查看前几项即可。

先ps -ef|grep java 找到pid
再进到自己目录 cd /home/yihan.zy
sudo -u admin jmap -histo pid > jmap.txt

七、jstack
用来查看当前web应用中存在的线程,以帮助定位程序中那些线程对CPU的使用率过高。
其使用也很简单,在个人账号下,使用sudo权限 ,执行sudo -u admin /opt/taobao/java1/bin/./jstack pid 即可将线程dump下来,进行分析。
命令本身使用起来很方便,关键是对dump下的线程作进一步的分析才是最重要的。
具体而言,当CPU比较忙时,我们通常需要关注的是runnable状态的线程,看系统到底在忙些什么;
而当CPU比较闲的时候,我们则需要关注waiting状态线程。
sudo -u admin /opt/java1/bin/jstack 17584 > q.txt

八、jstat:
可以用此命令查看gc情况。

语法结构如下:jstat [Options] vmid [interval] [count]

Options -- 选项,我们一般使用 -gcutil 查看gc情况

vmid -- VM的进程号,即当前运行的java进程号

interval-- 间隔时间,单位为毫秒

count -- 打印次数,如果缺省则打印无数次

实例: jstat -gcuti 16546 1000 4

16513为java进程号,可以通过(ps -ef|grep java找到),打印4次,每隔1秒打印一次



图中参数含义如下:
S0 -- Heap上的 Survivor space 0 区已使用空间的百分比
S1 -- Heap上的 Survivor space 1 区已使用空间的百分比
E -- Heap上的 Eden space 区已使用空间的百分比
O -- Heap上的 Old space 区已使用空间的百分比
P -- Perm space 区已使用空间的百分比
YGC -- 从应用程序启动到采样时发生 Young GC 的次数
YGCT-- 从应用程序启动到采样时 Young GC 所用的时间(单位秒)
FGC -- 从应用程序启动到采样时发生 Full GC 的次数
FGCT-- 从应用程序启动到采样时 Full GC 所用的时间(单位秒)
GCT -- 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: