Linux实用命令及技巧
1. 查看CPU及内存使用排行
1)查看当前CPU及内存的整体使用情况
top
2)可以使用以下命令查使用内存最多的10个进程
ps -aux | sort -k4nr | head -n 10
3)可以使用一下命令查使用CPU最多的10个进程
ps -aux | sort -k3nr | head -n 10
2. 服务器性能变慢的排查
1)查看整机性能
A. top
查看cpu与mem的使用率,主要基于load average
B. uptime
查看load average

2)查看CPU使用情况
A. vmstat
vmstat -n 2 3 : 每2s采样一次,总计采样3次 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数(单位s),第二个参数是采样的次数 - procs r:运行和等竺cpu的时间片的进程数,原则上1核CPU的运行队列不要超过2, 整个系统的运行队列不能超过总核数的2倍,否则代表系统压力过大;
b:等待资源的进程数,比如正在等待磁盘I/O、网络I/O等。
- cpu us:用户进程小号CPU时间百分比,us值高,用户进程消耗的CPU时间多,如果长期大于50%,优化程序;
sy:内核进程消耗的CPU时间百分比;
id:处于空闲的CPU百分比;
wa:系统等待IO的CPU时间百分比;
st:来自于一个虚拟机偷取的CPU时间的百分比;

B. mpstat
查看所有cpu核信息
mpstat -P ALL 2 :2s钟采样一次所有CPU的信息
C. pidstat
查看每个进程使用cpu的用量分解信息
pidstat -u 1 - p 进程号 : 查看进程cpu使用情况

3)查内存使用情况
A. free
free -g // GB为单位
free -m //MB为单位
经验值:
- 应用程序可用内存/系统物理内存>70%内存充足
- 应用程序可用内存/系统物理内存<20%内存不足,需要增加内存
- 20%<应用程序可用内存/系统物理内存<70%内存基本够用
B. pidstat
pidstat -p 进程号 -r 采样间隔秒数

4)硬盘使用情况
A. df
df -h 查看可视化效果好的碰盘使用情况
5)查看碰盘IO使用情况
A. iostat
查看碰盘I/O使用情况
iostat -xdk 2 3

碰盘块设备分布
- rkB/s:每秒读取数据量KB;
- wkB/s:每秒写入数据量KB;
- svctm:I/O请求的平均服务时间,单位毫秒;
- await:I/O请求的平均等待时间,单位毫秒;值越小,性能越好;
- util:1s中用于I/O操作的比例(百分比)。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;
rkB/s、wkB/s根据系统应用不同会有不同的值,但有规律遵循:长期、超大数据读写,肯定不正常,需要优化程序读取。svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘;
B. pidstat
pidstat -d 采样间隔秒数 -p 进程号

5)查看网络IO使用情况
A. ifstat
默认本地没有,需要下载ifstat
ifstat 1 //查看各个网卡的in、out观察网络负载情况,程序网络读写是否正常,用于程序网络I/O优化,增加网络I/O带宽做参考

Linux实用命令及技巧的更多相关文章
- linux 常用命令及技巧
linux 常用命令及技巧 linux 常用命令及技巧:linux 常用命令总结: 一. 通用命令: 1. date :print or set the system date and time 2. ...
- linux常用命令与技巧(不断添加与更新)
linux常用命令:linux命令有很多,不去做全面的介绍与总结,这里只是记录在使用linux过程中遇到的常用命令和技巧,以便以后查阅. # mkdir -p /usr/local/src/ ##递归 ...
- 14: linux实用命令
1.1 基本实用命令整理 1.查找大文件文件 du -sh ./*|grep G # 查看当前目录下个文件大于1G的文件夹 2.查找日志文件中 5xx数量,并进行排序 ...
- linux netcat命令使用技巧
netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netcat所做的 ...
- 个人的Linux实用命令
Linux下的命令有那么多,我不可能也不想去把每一个都记住,列举一些自己工作中很实用的命令,这些命令或许不是很常用,但是有时候却离不了. 1.网络方面 service iptables start/s ...
- Linux基础命令小技巧
总结 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise L ...
- Linux实用命令整理
说明 点击标题可进入详细讲解的章节 0. 基本命令 linux 基本命令整理 1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar. ...
- Linux实用命令行
对于Linux命令,我在学习和使用过程中是有一个循序渐进的过程的.适合小白学习快速使用.大笑 跳转目录:cd +路径 例如:cd /home/workspace 查看某个文件,常用的是查看日志:tai ...
- Linux实用命令
0. 基本命令 1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a 2. vim小结 2.1 ...
随机推荐
- BZOJ1123 BLO
割点的好题. 联通图,难度降低.首先对于一个点,如果他不是割点,那它的贡献是2*(n-1),就是任何一个其他节点都少了正反两个数对,这个看样例可以看出来. 如果它是一个割点,去掉他以后会出现若干个联通 ...
- 黑马lavarel教程---10、lavarel模型关联
黑马lavarel教程---10.lavarel模型关联 一.总结 一句话总结: 1.模型关联比较方便,一次定义,后面都可以使用 2.关联关系 使用动态属性进行调用 1.一对多,多对多实例? 一对多: ...
- js版的虚线框
要求:实现鼠标点击面板的一个点,拖动到固定的位置,出现虚线框 样图: 具体的代码实现: js文件 <script> window.onload = function(){ docu ...
- C# 中使用RegisterShellHookWindow Hook窗体创建
前言:最近在写一个桌面程序时需要全局HOOK 窗体的创建,但是在.net中SetWindowsHookEx()只可实现键盘鼠标的全局钩子,其余的全局钩子都需要使用DLL.难道就没有解决办法了么?经过长 ...
- fMRI数据分析处理原理及方法————转自网络
fMRI数据分析处理原理及方法 来源: 整理文件的时候翻到的,来源已经找不到了囧感觉写得还是不错,贴在这里保存. 近年来,血氧水平依赖性磁共振脑功能成像(Blood oxygenation level ...
- Node fs 创建多层文件夹
一.dirname()方法 1. 获得路径当中最后一段文件或文件夹所在的路径.多次调用path.dirname将会逐层返回上级目录 var path=require("path") ...
- python web开发flask框架 安装与环境
# encoding:utf-8 # 从flask这个框架中导入Flask这个类 from flask import Flask # 初始化一个Flask对象 # Flasks() # 需要传递一个参 ...
- xaml中显示 “大括号左边” 文本
Content="{}{" 最合适的还是上面的写法 转义符{不好使的 要么 空格{ 要么 全角{ 要么binding
- 【.NET】由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。
前言 上段时间做项目时,遇到如题之类问题,如今过去有一段时间了,具体出现的情形忘了,当时虽然找到了解决方法,但是依旧没有弄明白出现此种情况是何种原因,后来在微软的帮助支持中心找到了答案,特此记录,以防 ...
- markdown-博客编辑
1. 快捷键 2. 基本语法 2.1 字体设置斜体.粗体.删除线 2.2 分级标题 2.3 链接 2.4 分割线 2.5 代码块 2.6 引用 2.7 列表 2.8 表格 3. 常用技巧 3.1 换行 ...

