linux应用问题分析命令
1. 描述
应用问题分析方式及命令有很多,一般都结合着使用,今天主要介绍下:
(1)top命令,实时查看服务器资源使用情况,类似windows下的资源管理器;
(2)tail命令,实时刷新查看日志命令。
2. top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。
2.1 命令用法
top //默认每隔5秒,显示所有进程的资源占用情况
top -d 2 //每隔2秒,显示所有进程的资源占用情况
top -c //每隔5秒,显示所有进程的资源占用情况,-c重点是能看到命令行参数名称(比如java项目,不加-c的话只有java,增加-c的话,能看到具体执行参数,i'm 软件老王)
2.2 top显示信息说明

(1)第一行就不说了,没啥意思;
(2)第二行, 显示的是进程汇总信息,其中:
total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
(3)第三行,显示的是cpu使用情况,其中:
0.2% us 用户空间占用CPU百分比
0.2% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
99.6% id 空闲CPU百分比
0.0% wa 等待输入输出的CPU时间百分比
0.0%hi:硬件CPU中断占用百分比
0.0%si:软中断占用百分比
0.0%st:虚拟机占用百分比
注意:可以在top命令下按 “1”,就可以把第三行展开(比如4个cpu展开4行),查看各个cpu占比情况。
(4)第四行和第五行,显示的是内存使用情况,其中:
Mem:
total 物理内存总量
free 空闲内存总量
used 使用的物理内存总量
buffer 用作内核缓存的内存量
Swap:
total 交换区总量
free 空闲交换区总量
used 使用的交换区总量
avail Mem 有效内存
(5) 第六行,显示的是具体用户及进程使用cpu及内存情况,其中:
PID 进程id
USER Real user name
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
TIME 进程使用的CPU时间总计,单位秒
COMMAND 命令名/命令行
特别注意:需要注意的是第三行的%cpu跟第六行的cpu有区别的。
其中第三行的cpu(%)表示的是 所有用户进程占用整个cpu的平均值,由于每个核心占用的百分比不同,所以按平均值来算比较有参考意义,而第六行的%CPU显示的是进程占用一个核的百分比,而不是整个cpu(4核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心(i’m 软件老王),所以有时候我们看该值得时候会超过100%,但不会超过总核数*100。
3. tail实时查看日志命令
3.1 实时查看日志文件
(1)描述:当需要定位或者查看问题的时候,需要实时跟踪日志。
(2)命令用法
tail -f test.log
(3)tail命令解析
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
–pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, –quiet, –silent 从不输出给出文件名的首部
-s, –sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
3.2 清空文件
(1)描述:有时候日志或者文件内容有点多了,不方便查看,需要清空,可以使用copy后再删除,但是有点麻烦,可以使用echo直接清空。
(2)命令用法
echo > nohup.out
中间空格要不要都可以
(3)echo用法示例
a. 打印到控制台
echo I am 软件老王
echo "I am 软件老王"
b. 打印内容到文件
touch test.txt
echo 软件老王 > test.txt
c. 追加内容到文件
echo 是帅哥 >> test.txt
I’m 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!
linux应用问题分析命令的更多相关文章
- Linux性能监控分析命令(二)—sar命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...
- Linux 常用性能分析命令
性能分析 vmstat 虚拟内存统计 用法 Usage: vmstat [options] [delay [count]] Options: -a, --active active ...
- Java线上问题排查思路及Linux常用问题分析命令学习
前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...
- Linux性能监控分析命令(五)—free命令介绍
性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...
- Linux性能监控分析命令(四)—top命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...
- linux下性能分析命令[总结]
1.前言 在linux下开发程序,为了追求高性能,经常需要测试程序的性能,包括cpu.内存.io.网络等等使用情况.liunx下提供了众多命令方便查看各种资源的使用情况.经常用的有ps.top.fre ...
- Linux性能监控分析命令(三)—iostat命令介绍
性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...
- Linux性能监控分析命令
vmstat sar iostat top free uptime netstat ps strace lsof
- Linux性能监控分析命令(一)—vmstat命令详解
一.vmstat介绍 语法格式: vmstat [-V] [-n] [-S unit] [delay [count]] -V prints version. -n causes the headers ...
随机推荐
- Nginx+Lua+MySQL/Redis实现高性能动态网页展现
Nginx结合Lua脚本,直接绕过Tomcat应用服务器,连接MySQL/Redis直接获取数据,再结合Lua中Template组件,直接写入动态数据,渲染成页面,响应前端,一次请求响应过程结束.最终 ...
- zimg服务器图片数据迁移后,图片404异常的问题解决
由于zimg特殊的图片存储结构及图片命名规则,其迁移数据应该当相当简单的,仅把对应的存储图片数据的文件夹复制即可.往往简单的东西总会有一些成本在里面,下面是我简单的迁移测试过程中遇到的一些问题,仅供参 ...
- 20131209-数据库导入导出数据-sqlhelper-第十七天
[1] 导出数据 namespace _05导出数据 { class Program { static void Main(string[] args) { string str = "Da ...
- MPP install
greenplum install 注意事项:1.hostname 不能大写##2.如果segment和mirror副本数比较大,建议调整/etc/ssh/sshd_config的maxconnect ...
- 整型,布尔值,字符串详解,for语句 练习
2019 年 7 月 8 日 1.将今天的课上的代码敲一遍,然后整理笔记 已完成 2.有变量name = "aleX leNb" 完成如下操作: 移除 name 变量对应的值两边的 ...
- UVA10375 选择与除法 Choose and divide 题解
题目链接: https://www.luogu.org/problemnew/show/UVA10375 分析: 这道题可以用唯一分解定理来做. 什么是唯一分解定理?百度即可,这里也简介一下. 对于任 ...
- 个人永久性免费-Excel催化剂功能第99波-手机号码归属地批量查询
高潮过往趋于平静,送上简单的手机号码归属地查询,因接口有数量限制,仅能满足少量数据需求,如有大规模数据却又想免费获得,这就成为无解了,数据有价,且用且珍惜. 业务使用场景 除了日常自带的手机各种管家为 ...
- spark 源码分析之十八 -- Spark存储体系剖析
本篇文章主要剖析BlockManager相关的类以及总结Spark底层存储体系. 总述 先看 BlockManager相关类之间的关系如下: 我们从NettyRpcEnv 开始,做一下简单说明. Ne ...
- 【iOS】the executable was signed with invalid entitlements
又遇到了这个问题,貌似之前遇到过,如图所示: 原因:开发证书里没添加手机. PS: Xcode7 除外,据说已经不需要证书了,这里用的是 6.4
- [系列] Go - chan 通道
目录 概述 声明 chan 写入 chan 读取 chan 关闭 chan 示例 推荐阅读 概述 原来分享基础语法的时候,还未分享过 chan 通道,这次把它补上. chan 可以理解为队列,遵循先进 ...