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应用问题分析命令的更多相关文章

  1. Linux性能监控分析命令(二)—sar命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  2. Linux 常用性能分析命令

    性能分析 vmstat 虚拟内存统计 用法 Usage: vmstat [options] [delay [count]] Options: -a, --active           active ...

  3. Java线上问题排查思路及Linux常用问题分析命令学习

    前言 之前线上有过一两次OOM的问题,但是每次定位问题都有点手足无措的感觉,刚好利用星期天,以测试环境为模版来学习一下Linux常用的几个排查问题的命令. 也可以帮助自己在以后的工作中快速的排查线上问 ...

  4. Linux性能监控分析命令(五)—free命令介绍

    性能监控分析的命令包括如下:1.vmstat2.sar3.iostat4.top5.free6.uptime7.netstat8.ps9.strace10.lsof 命令介绍:free命令是监控Lin ...

  5. Linux性能监控分析命令(四)—top命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  6. linux下性能分析命令[总结]

    1.前言 在linux下开发程序,为了追求高性能,经常需要测试程序的性能,包括cpu.内存.io.网络等等使用情况.liunx下提供了众多命令方便查看各种资源的使用情况.经常用的有ps.top.fre ...

  7. Linux性能监控分析命令(三)—iostat命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof 命令介绍: i ...

  8. Linux性能监控分析命令

    vmstat sar iostat top free uptime netstat ps strace lsof

  9. Linux性能监控分析命令(一)—vmstat命令详解

    一.vmstat介绍 语法格式: vmstat [-V] [-n] [-S unit] [delay [count]] -V prints version. -n causes the headers ...

随机推荐

  1. 嵊州D3T1 山魔 烙饼问题

    嵊州D3T1 山魔 有n 座山,每座山有南北两面. 每一天,一些山的某一面(不一定相同) 会受到山魔的袭击. 但是山魔一天最多只会袭击k座山. 当每座山的每一面都被袭击过后,山魔就会离开. 那么至少要 ...

  2. 通讯(tarjan缩点)(20190716NOIP模拟测试4)

    B. 通讯   题目类型:传统 评测方式:文本比较  内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目描述 “这一切都是命运石之门的选择.” 试图研制时间机器的机关SERN截获了 ...

  3. CDQZ集训DAY5 日记

    又一个爆炸的一天…… 早上起来发现貌似是周末,七中放假(别人家的学校(一周一放,一放两天)……)然而感觉状态不是很好,感觉药丸. 题目一上来就装弱,有诈.第一题上来先打暴力,T2不知道怎么打.T3暴力 ...

  4. 对DatagramSocket的使用实例(java使用UDP进行数据传输)

    今天刚看懂的一点点东西,记录一下,方便自己回顾 客户端: Client.java import java.io.IOException; import java.net.DatagramPacket; ...

  5. 题解 P2949 【[USACO09OPEN]工作调度Work Scheduling】

    P2949 [USACO09OPEN]工作调度Work Scheduling 题目标签是单调队列+dp,萌新太弱不会 明显的一道贪心题,考虑排序先做截止时间早的,但我们发现后面可能会出现价值更高却没有 ...

  6. 成为高级 React 开发你需要知道的知识点

    简评:除了常见的 HOC 和 RenderProp 技巧,作者介绍了 7 个有用的知识点. 使用 Fragment 而不是 div 很多时候我们想要处理多个 component,但是 render 只 ...

  7. Atlassian In Action-Jira之推荐插件(四)

    前面的几章基本已经完整构建了Jira的管理平台,并且有了一套比较完成的制度和方法.但是优化是永无止境的,我们作为研发管理人员,需要让系统使用起来更加高效和便捷.为了达到这个目的一般有两种途径,插件和开 ...

  8. 手写C语言字符库

    鉴于以前碰到过很多这样的题目,甚至上次月考核也考了,马上就要考试了,就再重新写一遍,加深印象,但是肯定和库函数有区别,丢失许多细节 1.strlen函数(求字符串长度) int strlen(char ...

  9. [学习笔记] pymysql入门

    一.快速开始 对于会用MySQL的朋友来说,开始使用pymysql可以说真的so esay,只要用下面的代码,把想要对数据库的操作放在 sql = " " 里就可以了. 没有接触过 ...

  10. java oop 单列 双列 集合, 迭代器 的使用和说明

    一.集合(Collection) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组 而数组的长度固定, ...