• Linux常用命令及说明 — 结合工作(着重性能监控,包括CPU、内存、IO、网络、磁盘等)

    分享图片

    (一)Linux监控的几个常用命令(对于服务器后端程序猿很重要,必须掌握):

    命令 功能 命令 功能
    iostat 统计CPU及网络、设备和分区IO的数据 vmstat 展示给定时间服务器的状态值(包括CPU使用率、内存使用状况、虚拟内存交换情况、IO读写情况),很常用
    free 显示内存状况,包括空闲以及被使用的物理内存、交换内存以及被kernel使用的缓冲区 sar  System Activity report 系统活动报告,是目前Linux最为全面的系统性能分析工具之一 
    ps 显示当前正在运行的所有进程的快照 strace 跟踪进程执行时系统调和所接收的信号
    top 实时显示系统中各个进程的资源(cpu和load)占用状况,类似于windows任务管理器 tcpdump

    dump the traffic on a network, 根据用户定义对网络上的包进行截获的包分析工具,

    功能和查看pcap包的wireshark工具差不多

     

    • iostat

     统计CPU及网络、设备和分区IO的数据,具体命令行参数见下表:

    选项 含义
     -d  显示设备(磁盘)使用状态
     -k 某些使用block为单位的列强制使用kilobytes/每秒
     -x 显示更多统计信息
     -c  显示CPU利用率

    输入"iostat -x”,结果如下图:

    分享图片

    avg-cpu统计信息每段含义见下表:

    参数 含义
     %user   在用户态运行程序,CPU利用的百分比
     %nice  在nice优先级(即静态优先级,具体啥含义请百度)
     %system  在内核态运行程序,CPU利用的百分比
     %iowait 特别重要 — show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request
     %steal

     虚拟CPU等待的百分比 — Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs

     while the hypervisor was servicing another virtual processor

     %idle  CPU 空闲的比列,CPU没有IO请求需要处理 — 和 %iowait含义相反

     

     设备(device)输出结果每段含义详细说明见下表:

    参数 含义
     rrqm/s 

     每秒这个设备相关的读取请求有多少被merge了,

     当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge

     wrqm/s  每秒这个设备相关的写入请求有多少被merge了
     r/s  The number of read requests that were issued to the device per second
     w/s  The number of write requests that were issued to the device per second
     rsec/s  每秒读取的扇区数
     wsec/s  每秒写入的扇区数
     avgrq-sz  
     avgqu-sz  
     await  每一个IO请求的处理的平均时间(单位是毫秒)
     svctm  
     %util

     在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,

     而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。

    一般地,如果该参数是100%表示设备已经接近满负荷运行了

    (当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

     

    参考 iostat(1) - Linux man page

    • ps
    • grep
    • top

    实时显示系统中各个进程的资源占用状况,类似于windows任务管理器,默认3秒钟刷新一次,太快了,看不过来,-d 可以指定,多少时间更新一次

    具体命令行参数说明见下表:

    选项 含义
    -a 按照内存使用率排序
    -d 设置多长时间(以秒为单位)刷新一次结果
    -p <pid>  查看指定进程ID的信息
     -u <username>   查看指定用户名的信息
     -i   不显示任何闲置 (idle) 或僵尸 (zombie) 的进程
     -n iterations  指定更新多少次信息后终止
     -c  显示完整命令,如mysql会显示 “/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql” 
     -s  安全模式
     -S  累积时间模式,开启此模式,会列出该进程及它已经死掉的子进程所使用的CPU时间

     

    例如,“top -d 30” —— 30秒刷新一次(默认按cpu占用率排序),结果如下图:

    分享图片

     输出结果前5行(统计的整体信息)的每一段的含义如下表所示:

    段1含义 段2含义 段3含义 段4含义 段5含义 段6含义 段7含义 段8含义
     1 - top 13:43:10 - 当前时间  up 4:21 - 系统运行时间,格式为"时:分"  1 user - 当前登录用户数

     load average: 0.01, 0.04, 0.01 - 系统负载,即任务队列的平均值

    三个数值依次为"1分钟5分钟 15分钟”到目前的平均值

           
     2 - Tasks 1012 total - 进程总数  1 running -  正在运行的进程数  1095 sleeping - 睡眠的进程数  6 stopped - 停止的进程数 0 zombie - 僵尸进程数       
     3 - Cpu(s)  0.8%us - 用户空间占用CPU百分比  0.1%sy - 内核空间占用CPU百分比  0.0%ni - 用户进程空间改变过优先级的占CPU百分比  99.2%id - 空闲CPU百分比 0.0%wa - 等待输入输出的CPU百分比  0.0%hi -  0.0%si -  0.0%st - 
     4 - Mem  132173688k total - 物理内存总量  38002800k used - 已使用的物理内存总量  94170888k free - 空闲内存总量  208420k buffers - 用于内核缓存的内存总量        
     5 -Swap  4194600k total - 交换区总量  0k used - 已使用的交换区总量  4194300k free - 空闲交换区总量  2624596k cached - 缓冲的交换区总量        

     

    在top命令模式下,按“f”键,会显示每个column的详细信息,如下图:

    分享图片

    每一列的含义翻译成中文如下表所示:

    列名 含义
    PID  进程ID
    USER  用户名
    PR  进程优先级
    NI  nice value,不知道怎么翻译好
    VIRT  进程使用的虚拟内存总量(kb)
    RES  进程使用的、未被换出的物理内存大小
    SHR  共享内存大小(kb)
    S  进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
    %CPU  上次更新到现在的CPU时间占用百分比
    %MEM  进程当前使用的可被共享的内存容量
    TIME+  task自启动以来,累计占用cpu时间,精确到百分之一秒
    COMMAND  命令行或者程序名

     

    •  free

     显示空闲和使用的内存信息,命令参数选项如下表:

    选项 含义
     -b -k -m -g  单位分别为bytes, KB, MB, G
     -h 人类可读(即自动以MB,G等为单位显示)
     -t  额外显示总数 (RAM + swap)
     -o (old format) 不会显示 -/+ buffers/cache 这行信息

     

    输入“free -m”,以M为单位,便于精确计算讲解,结果如下图:

    分享图片

     

    输出结果具体每行每列的含义详见下表:

     行 total used free shared buffers cached
     Mem: 内存总数 (total = used + free) 已经使用的内存数量 空闲内存数量 共享内存数量,据说已经废弃不用 缓冲内存数量 缓存内存数量
     -/+ buffers/cache:  

    (- buffers/cache) used —— 反映的是被程序实实在在吃掉的内存

    使用的内存数 = 第一行即Mem行的 “used - buffers - cached” = 34562 - 87 - 1322 = 33151M

    (+ buffers/cache) free —— 反映的是可以挪用的内存总数

    空闲内存数 = 第一行即Mem行的 “free + buffers + cached” = 94513 + 87 + 1322 = 95922M

    差2M不知道哪里来的

         
     swap: (交换区) 交换区内存总数 交换区已使用内存数 交换区空闲内存数      
    • sar

    System Activity report 系统活动报告,是目前Linux最为全面的系统性能分析工具之一

    • vmstat
    • tcpdump

    dump the traffic on a network, 根据用户定义对网络上的包进行截获的包分析工具

     (二)基本简单命令

    列表汇总基本命令:

    命令 功能 命令 功能 命令 功能
     ls  查看当前目录下有哪些文件和文件夹  whereis  查找可执行的软件命令在哪里  clear/reset/ CTRL + l  清屏——切换到下一个新的屏幕
     pwd  显示当前目录的完整路径  cd  改变所在目录  vi  文本编辑器
     cat  输出文件的内容到屏幕  mkdir  创建目录  vim  程序编辑器
     sh  执行shell脚本  rmdir  删除目录  kill  杀死进程
     yum  软件包管理器  mv  移动文件  ifconfig  显示或者设置网络设备
     sudo  以系统管理员的身份执行指令,类似于windows  CMD,右键选择"以管理员身份运行“”  rm  删除文件  cal  日历
     df  查看磁盘使用情况  cp  复制文件  date  日期
     stat  显示文件或者文件系统的状态  touch  更新文件的访问时间和修改时间,如果不存在,则创建之  bc  计算器

     

    linux命令的常识:

      (1)大小写敏感,如 "top"可以识别,"Top" 则comand not found

      (2)-h (部分命令支持,如冲突则不支持)和 --help(大多数命令支持),查看命令帮助信息,如 rmdir --help,提示“ rmdir [OPTION]... DIRECTORY..

      (3)命令有缩写和全拼两种格式,如 rmdir 的"-p" <=> "--parents"

      (4)CTRL +  C ,exit 当前正在执行的命令;CTRL + Z , stop 当前正在执行的命令

      (5)命令格式说明,“【】”括起来表示选项可选,接下来紧跟的详细参数,如ls命令说明:“ls [OPTION]... [FILE]...

      (6)可通过“|”进行命令拼接,如“ps -ef | grep java | grep -v grep” 

      (7)linux 命令或者参数在输入1个或2个字符后,按Tab键,会列出可选命令和参数,如果输入3个或者4个字符,可查找出唯一的命令和参数,将自动补全

      (8)键盘“PgUp”“PgDn"及 键盘“↑”“↓” 可以切换到上一个或者下一个已输入的命令, 按键“←” 和“→” ,可以在命令里左右移动光标

      (8)linux里所有东西都被当做文件,不像windows有硬件设备的概念,如磁盘、CPU等,所以你装的所有软件,如mysql等都是文件

     

    详细论述:

    • ls

    查看当前目录下有哪些文件及文件夹,具体命令行参数说明见下表:

     

    常用选项 含义
    -l 一行显示一个文件或者文件夹,并显示诸如文件大小、文件最后修改时间、owner等信息
    -a 列出所有文件及文件夹,包括隐藏文件
    -R 把子文件夹下的文件也全部列出来,可以“ls -R -l”组合用
    -S 按文件大小倒叙列出所有文件
    -h 以人类可读的形式列出文件大小(K,M,G)

    如在 linux的根目录下,输入“ls”,结果如下图:

    分享图片

    如果是在包含有文件的目录下,输入“ls”,比如在root下,则会包含文件如 “install.log” 及文件夹 “Music” 等等,结果如下图:

    分享图片

     

    组合命令,ls -S -h -l结果如下图:

    分享图片

    • pwd

    显示当前的完整路径名,如下图:

    分享图片

    • cd

    切换当前目录,具体语法: cd [dirName],具体命令行参数说明见下表:

    选项 含义
     .. 切换到父级目录
     /  切换到根目录
     ~ 切换到home根目录

     

    • whereis

    查找命令—具体语法: whereis [ -sbmu ] [ -SBM dir ... -f ] name...,例如"whereis mysql",结果如下图:

    分享图片

    • cat

    输出文件内容到终端,例如“cat install.log”,结果如下图:

    分享图片

    • sh
    • ifconfig

    显示或者设置网络设备,输入“ifconfig”, 结果如下图(可以看到自己的ipv4 、ipv6 地址等信息):

    分享图片

    • kill
    • rm
    • mv
    • cp
    • touch

    更新文件的访问时间和修改时间,如果文件不存在,则创建之。如我在root根目录,“touch test2019.txt”,文件不存在则创建之,效果如下图:

    分享图片

    • mkdir

    创建目录,

    • rmdir
    • df
    • vi 及vim
    • yum 
    • sudo
    • stat

    显示文件或者文件系统的状态,具体语法: stat [OPTION]... FILE...,例如stat a.txt, 结果如下图:

    分享图片

    • bc

    内置计算器,"bc -q" 不会输出关于bc软件的一些信息,直接用(回车输出结果),如下图:

    分享图片

    • cal

    日历

    • date

    日期—具体语法: date [OPTION]... [+FORMAT],例如“date ‘+%Y % m%d %H %m’”,输出当期日期的年月日、时、分,结果如下图:

    分享图片

     

    附注:

     

    未完待续,空了接着完善

    *****************************************************************************************************

    精力有限,想法太多,专注做好一件事就行

    • 我只是一个程序猿。5年内把代码写好,技术博客字字推敲,坚持零拷贝和原创
    • 写博客的意义在于锻炼逻辑条理性,加深对知识的系统性理解,锻炼文笔,如果恰好又对别人有点帮助,那真是一件令人开心的事

    *****************************************************************************************************

    相关文章
    相关标签/搜索
    四肖八码中特二四六天天好彩免费资料大全香港马会最快开奖现场开奖结果免费资料历史记录大全一肖一码期期准1 一在线查询网 连江县| 兖州市| 石嘴山市| 桐柏县| 探索| 泗水县| 凌源市| 临西县| 长白| 和平区| 无极县| 日喀则市| 新沂市| 台湾省| 温州市| 定安县| 莱芜市| 临清市| 荆州市| 腾冲县| 青河县| 清涧县| 信宜市| 昌乐县| 安泽县| 英德市| 正定县| 西华县| 阿瓦提县| 沈丘县| 弥渡县| 丘北县| 会泽县| 宝坻区| 磐石市| 偏关县| 双桥区| 四子王旗| 克什克腾旗| 蓝山县| 侯马市| 汝南县| 长葛市| 思南县| 策勒县| 万州区| 平利县| 咸丰县| 双城市| 玛纳斯县| 五寨县| 耒阳市| 辉南县| 志丹县| 泸溪县| 苍南县| 德钦县| 朔州市| 靖江市| 林州市| 邓州市| 芜湖市| 连江县| 高雄市| 莒南县| 安陆市| 迁安市| 江陵县| 仁布县| 若尔盖县| 酉阳| 乌兰察布市| 寻乌县| 宝丰县| 延寿县| 萝北县| 喀什市| 唐河县| 宝坻区| 广德县| 堆龙德庆县| 平江县| 贵定县| 神池县| 阿尔山市| 中西区| 沁源县| 赤城县| 当雄县| 兖州市| 涞水县| 墨脱县| 抚州市| 昂仁县| 友谊县| 洪江市| 鹤山市| 荣昌县| 仁化县| 红安县| 增城市| 夏津县| 黄冈市| 登封市| 新沂市| 德钦县| 交口县| 贡嘎县| 连江县| 清镇市| 新平| 连州市| 盐津县| 敦煌市| 安龙县| 庆城县| 广元市| 新民市| 合作市| 上饶市| 泗水县| 江城| 岳阳市| 称多县| 资讯| 保靖县| 渭南市| 临城县| 大同县| 灵台县| 揭西县| 山东| 广安市| 四平市| 马龙县| 仙游县| 大同市| 巴彦县| 宜城市| 西峡县| 洛川县| 夹江县| 商南县| 含山县| 海伦市| 保亭| 漳州市| 孝义市| 兴仁县| 建德市| 旬阳县| 惠来县| 达日县| 榆树市| 木里| 阿城市| 翁源县| 平度市| 瓦房店市| 昌邑市| 巴彦淖尔市| 翁牛特旗| 定西市| 衢州市| 南丹县| 班玛县| 开鲁县| 界首市| 上蔡县| 德格县| 喜德县| 景泰县| 宁南县| 岱山县| 聂拉木县| 竹北市| 宿迁市| 资中县| 和顺县| 青冈县| 临武县| 三穗县| 水富县| 海原县| 镇原县| 徐水县| 大田县| 江源县| 安泽县| 华坪县| 上栗县| 温宿县| 梨树县| 湘阴县| 北川| 定边县| 碌曲县| 阳原县| 高碑店市| 乡城县| 屏东市| 大埔区| 安化县| 西华县| 怀仁县| 罗田县| 云林县| 远安县| 周至县| 翁牛特旗| 微博| 同仁县| 定西市| 东光县| 中西区| 民丰县| 徐闻县| 马鞍山市| 长沙县| 新疆| 盐边县| 彰武县| 厦门市| 徐闻县| 延吉市| 黑水县| 康乐县| 米林县| 武山县| 溧水县| 调兵山市| 从江县| 增城市| 榆树市| 英吉沙县| 元氏县| 南部县| 陈巴尔虎旗| 玉田县| 涞源县| 盐池县| 礼泉县| 凤翔县| 丹东市| 永登县| 汕尾市| 宁城县| 佳木斯市| 大同县| 安乡县| 汤原县| 松潘县| 营口市| 白山市| 朝阳区| 阿拉善右旗| 朝阳县| 满洲里市| 青海省| 民勤县| 康定县| 平潭县| 洛浦县| 贵州省| 榆树市| 新泰市| 萨迦县| 广丰县| 灵山县| 崇文区| 巴楚县| 神木县| 武鸣县| 扬州市| 宜兰县| 通许县| 云安县| 莲花县| 西贡区| 上林县| 元氏县| 孟州市| 横山县| 滨海县| 浮梁县| 德江县| 林芝县| 定边县| 兴安县| 青浦区| 祁连县| 江北区| 盐源县| 邓州市| 丘北县| 东港市| 通江县| 酉阳| 黄大仙区| 深州市| 徐州市| 增城市| 鹤庆县| 札达县| 洛隆县| 泾阳县| 永新县| 内江市| 沛县| 景德镇市| 永善县| 忻州市| 桐柏县| 冕宁县| 闸北区| 铅山县| 万安县| 中山市| 梅州市| 盐边县| 九江市| 营口市| 阿克陶县| 泰顺县| 固镇县| 新民市| 湛江市| 宁武县| 东港市| 浠水县| 兴安县| 南华县| 墨竹工卡县| 岱山县| 团风县| 梅河口市| 区。| 于都县| 通化县| 沭阳县| 江孜县| 周口市| 乌苏市| 鲁甸县| 依兰县| 西畴县| 微博| 开阳县| 离岛区| 方正县| 西贡区| 仁布县| 沙坪坝区| 德州市| 吉木萨尔县| 清苑县| 韶关市| 承德市| 昌邑市| 丽水市| 雷山县| 容城县| 平江县| 独山县| 太谷县| 舒兰市| 叶城县| 黑水县| 彭州市| 修水县| 合作市| 枣庄市| 安泽县| 且末县| 湘潭市| 额敏县| 永嘉县| 新沂市| 汤原县| 万年县| 金乡县| 达孜县| 滨州市| 浑源县| 修文县| 安徽省| 伊春市| 修武县| 双峰县| 中江县| 体育| 威信县| 凉山| 丰顺县| 浏阳市| 垦利县| 彩票| 六安市| 肃南| 石家庄市| 白水县| 砀山县| 吉隆县| 兴国县| 宜州市| 伽师县| 北宁市| 新余市| 湖北省| 长沙市| 美姑县| 五家渠市| 广宁县| 临沂市| 潞城市| 甘孜| 嘉禾县| 游戏| 治多县| 余姚市| 大厂| 嘉黎县| 凤山市| 朝阳区| 石景山区| 清涧县| 乐亭县| 洪泽县| 宁都县| 宁国市| 托克托县| 腾冲县| 吴江市| 玉门市| 枞阳县| 班戈县| 漳平市| 那坡县| 石景山区| 德惠市| 新建县| 仲巴县| 大新县| 阆中市| 临澧县| 阿荣旗| 延长县| 临江市| 河源市| 永春县| 井研县| 新竹县| 江山市| 安龙县| 裕民县| 琼结县| 海原县| 高陵县| 麻栗坡县| 惠东县| 梓潼县| 莱阳市| 肥东县| 库尔勒市| 新郑市| 乌恰县| 焦作市| 毕节市| 浮山县| 上饶县| 凤翔县| 萝北县| 海盐县| 磐石市| 吉水县| 横峰县| 松溪县| 方山县| 康乐县| 陆丰市| 舒兰市| 山东省| 昌宁县| 海淀区| 乌拉特后旗| 利川市| 百色市| 修武县| 赤壁市| 安岳县| 疏附县| 通渭县| 长沙县| 勃利县| 交口县| 海兴县| 平乐县| 上杭县| 长子县| 南澳县| 赤峰市| 遂平县| 同心县| 通城县| 屏山县| 台北市| 大埔区| 子长县| 泸州市| 双桥区| 巩义市| 东丰县| 闻喜县| 丰原市| 上饶市| 保山市| 绥德县| 霍州市| 新郑市| 治县。| 巧家县| 文昌市| 来凤县| 沅陵县| 竹山县| 政和县| 阿克| 石泉县| 六盘水市| 响水县| 景洪市| 邢台县| 广丰县| 饶平县| 田林县| 周至县| 共和县| 中宁县| 留坝县| 华蓥市| 武陟县| 横峰县| 和林格尔县| 景德镇市| 长泰县| 墨脱县| 聊城市| 留坝县| 体育| 鸡西市| 德阳市| 彰化市| 桦川县| 凤台县| 武平县| 青岛市| 武平县| 辽源市| 朝阳区| 丰原市| 龙陵县| 穆棱市| 马龙县| 重庆市| 崇礼县| 荆门市| 屯门区| 郓城县| 莆田市| 台江县| 金川县| 商洛市| 宁南县| 兴仁县| 巴东县| 梅河口市| 玉田县| 芷江| 荆州市| 卢湾区| 稻城县| 浦东新区| 甘谷县| 张家口市| 山东省| 永福县| 定结县| 阿克陶县| 牟定县| 万年县| 鸡东县| 瓦房店市| 石河子市| 仁化县| 望奎县| 富蕴县| 榆社县| 宿州市| 阳春市| 拉萨市| 刚察县| 亳州市| 纳雍县| 广宗县| 新巴尔虎右旗| 郓城县| 闽清县| 濮阳市| 东台市| 金山区| 新化县| 长治市| 盐亭县| 大洼县| 章丘市| http://m.jx1870izagev.fun http://www.jx1870initialv.fun http://m.jx1870enjoyv.fun http://m.jx1870giftv.fun http://m.hz0j0r2vo.fun http://wap.jx1870gov.fun http://jx1870inputv.fun http://hz0j2r9vo.fun http://www.jx1870experiencev.fun http://www.hz0j2r3vo.fun http://m.jx1870expressv.fun http://m.jx1870facev.fun http://jx1870exchangev.fun http://wap.jx1870establishv.fun http://m.jx1870enjoyv.fun http://jx1870guaranteev.fun http://wap.hz0j1r8vo.fun http://wap.hz0j3r6vo.fun