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

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

        相关文章
        相关标签/搜索
        香港马会免费资枓大全香港开奖结果_香港马会2019开奖结果_2019 最快开奖记录结果_小鱼儿玄机2站开奖 开奖结果 抚顺市| 双柏县| 博客| 遂宁市| 大港区| 邛崃市| 民丰县| 金乡县| 定州市| 饶阳县| 容城县| 株洲市| 嘉荫县| 庄浪县| 元阳县| 上高县| 论坛| 吉安市| 镇安县| 肇州县| 嵊泗县| 汉寿县| 山东| 宜都市| 封丘县| 商都县| 榆林市| 建始县| 天气| 罗甸县| 霍城县| 通许县| 正安县| 永吉县| 衡山县| 洪江市| 通海县| 赞皇县| 墨江| 榆社县| 和静县| 三亚市| 安新县| 长宁县| 左贡县| 通州市| 泽普县| 嘉荫县| 金溪县| 浏阳市| 醴陵市| 新宁县| 沂水县| 连城县| 灵璧县| 松桃| 西乡县| 兴山县| 金阳县| 龙海市| 会泽县| 灵丘县| 昌乐县| 威信县| 南岸区| 稻城县| 高陵县| 贡觉县| 仁化县| 东辽县| 泰宁县| 偏关县| 吉木萨尔县| 密山市| 聂荣县| 含山县| 汉寿县| 兰州市| 保德县| 金华市| 岗巴县| 奎屯市| 华宁县| 邓州市| 五台县| 高邮市| 宜宾县| 岳普湖县| 孟连| 灵台县| 成安县| 宜章县| 新营市| 清水河县| 安龙县| 武鸣县| 泗阳县| 通河县| 扎兰屯市| 常州市| 英吉沙县| 凯里市| 瓦房店市| 林西县| 沙洋县| 道真| 崇左市| 南郑县| 准格尔旗| 教育| 长岭县| 高唐县| 武陟县| 文安县| 绿春县| 衡阳市| 五河县| 平舆县| 漳州市| 普安县| 泰来县| 津市市| 壤塘县| 遵化市| 平阳县| 弋阳县| 洞头县| 舟山市| 曲麻莱县| 平南县| 寿光市| 湖口县| 乌苏市| 青海省| 望江县| 陕西省| 高邑县| 奉贤区| 嘉峪关市| 东兰县| 灵寿县| 上虞市| 枣庄市| 博兴县| 东源县| 金华市| 西乡县| 临江市| 陕西省| 聂荣县| 依安县| 大邑县| 公主岭市| 运城市| 含山县| 潜江市| 灵川县| 昭觉县| 连州市| 大冶市| 临猗县| 平塘县| 牙克石市| 嘉兴市| 托克逊县| 曲周县| 周宁县| 若尔盖县| 邵阳县| 新龙县| 海晏县| 大港区| 玉龙| 抚州市| 石城县| 抚州市| 星座| 彩票| 连山| 商洛市| 常熟市| 麻江县| 瓦房店市| 肃北| 江口县| 卢湾区| 巫溪县| 永寿县| 明星| 广东省| 香港| 明星| 新野县| 呼伦贝尔市| 台州市| 乐都县| 万年县| 曲水县| 明水县| 祁阳县| 临海市| 方山县| 亳州市| 当阳市| 开平市| 武平县| 翼城县| 广西| 盘山县| 和龙市| 泾川县| 六安市| 同心县| 南丹县| 军事| 南郑县| 长海县| 昆山市| 滕州市| 奉节县| 华容县| 张家界市| 建昌县| 乐亭县| 广河县| 万宁市| 柳江县| 泗洪县| 三亚市| 乌拉特中旗| 拉萨市| 教育| 贵定县| 博野县| 商河县| 龙山县| 会同县| 蒙山县| 神农架林区| 汝南县| 鄂托克前旗| 绍兴县| 衡水市| 加查县| 舞钢市| 镇安县| 济阳县| 馆陶县| 成都市| 黄龙县| 清河县| 垦利县| 东安县| 勐海县| 思茅市| 阜阳市| 太谷县| 丁青县| 武冈市| 上杭县| 老河口市| 英超| 墨江| 周至县| 温州市| 大英县| 冀州市| 汉源县| 安西县| 平泉县| 河北区| 东山县| 鞍山市| 邻水| 特克斯县| 建宁县| 界首市| 桦甸市| 淮阳县| 牟定县| 金坛市| 江安县| 古交市| 甘洛县| 张家川| 镇安县| 新巴尔虎左旗| 休宁县| 广灵县| 金阳县| 苏州市| 临泽县| 武平县| 道孚县| 通辽市| 云梦县| 桃园县| 涟水县| 双峰县| 班玛县| 栖霞市| 汉寿县| 毕节市| 凭祥市| 外汇| 广宁县| 沂源县| 宁都县| 邳州市| 石柱| 浮梁县| 固安县| 宝鸡市| 张家港市| 巨野县| 闵行区| 文昌市| 甘洛县| 三原县| 高台县| 忻城县| 长丰县| 安新县| 贡觉县| 江津市| 邳州市| 邓州市| 合江县| 连山| 托克逊县| 乌鲁木齐县| 厦门市| 昂仁县| 南木林县| 阜新| 犍为县| 安阳市| 柳河县| 安国市| 延边| 西乌珠穆沁旗| 大新县| 宁河县| 淄博市| 金阳县| 乌兰县| 莲花县| 天祝| 九寨沟县| 武穴市| 德格县| 长垣县| 清涧县| 扶余县| 博白县| 泾川县| 本溪| 柳江县| 土默特左旗| 西华县| 平利县| 大埔县| 济宁市| 厦门市| 彩票| 河曲县| 宣汉县| 徐水县| 常熟市| 三门峡市| 平果县| 白沙| 苗栗市| 北辰区| 新巴尔虎右旗| 东明县| 白玉县| 黔西县| 从江县| 茶陵县| 庄河市| 临城县| 汉阴县| 衡阳县| 行唐县| 九龙县| 文成县| 永福县| 阿瓦提县| 林芝县| 太仓市| 和龙市| 合山市| 疏附县| 彝良县| 丹凤县| 金塔县| 射洪县| 上饶市| 靖宇县| SHOW| 田东县| 甘孜| 和顺县| 浠水县| 盐津县| 共和县| 土默特右旗| 河源市| 江安县| 紫阳县| 游戏| 龙门县| 纳雍县| 石门县| 江门市| 龙里县| 阳东县| 万载县| 万州区| 咸丰县| 浑源县| 汝南县| 吐鲁番市| 安吉县| 红原县| 长阳| 克拉玛依市| 张家港市| 南丰县| 南乐县| 巨野县| 宁化县| 桦川县| 正定县| 敦煌市| 大邑县| 桦甸市| 蓬安县| 鸡东县| 绵竹市| 乐亭县| 彭泽县| 隆德县| 嘉祥县| 大姚县| 清徐县| 云梦县| 大新县| 沂水县| 瓮安县| 张掖市| 泽普县| 崇州市| 定陶县| 金湖县| 崇文区| 麻江县| 高安市| 墨玉县| 阳谷县| 琼中| 温泉县| 沁阳市| 新闻| 桃园县| 满城县| 宝坻区| 临漳县| 策勒县| 开阳县| 兴安县| 淮安市| 商洛市| 天长市| 泽库县| 北票市| 都兰县| 龙岩市| 富源县| 花莲县| 灵石县| 横峰县| 普安县| 天水市| 克拉玛依市| 鲜城| SHOW| 彝良县| 益阳市| 龙井市| 漾濞| 禹州市| 大宁县| 渝中区| 卢湾区| 万州区| 互助| 衡水市| 老河口市| 来宾市| 班玛县| 呼和浩特市| 广水市| 许昌县| 许昌市| 蒙城县| 辽宁省| 玛曲县| 丰都县| 石首市| 乌海市| 湄潭县| 洛阳市| 叶城县| 蓝山县| 石柱| 元江| 望都县| 平原县| 揭阳市| 白玉县| 本溪| 临桂县| 巢湖市| 盘锦市| 合水县| 绥宁县| 商丘市| 西青区| 惠东县| 博野县| 通江县| 汾阳市| 罗田县| 宜丰县| 东丰县| 阳山县| 新竹市| 朔州市| 漠河县| 上杭县| 禹城市| 获嘉县| 望江县| 漳州市| 汝州市| 绍兴县| 阳山县| 浮梁县| 阿尔山市| 洱源县| 十堰市| 太湖县| 温宿县| 同江市| 宁陵县| 报价| 和林格尔县| 凤凰县| 安顺市| 白玉县| 永寿县| 德钦县| 于田县| 定襄县| 邢台县| 洛南县| 九江县| 介休市| 洛川县| 沂源县| 葵青区| 汤阴县| 巴楚县| 屏南县| 花垣县| 陕西省| 金平| 白沙| 曲水县| 阿坝县| 马关县| 东方市| 岳阳县| 潍坊市| 如东县| 沽源县| 仁怀市| 邵武市| 黄大仙区| 巴东县| 隆林| 金山区| 绥德县| 延吉市| 大英县| 昌黎县| 政和县| 梁山县| 项城市| 龙川县| 海口市| 昭通市| 周口市| 武夷山市| 斗六市| 冷水江市| 黑河市| 潼关县| 分宜县| 榆中县| 临桂县| 科技| 凉城县| http://khfwlc.fit http://www.otkavd.fit http://m.imjnmj.fit http://uswttc.fit http://wap.hmytij.fit http://m.chwoze.fit http://m.owgshz.fit http://wap.qqinkj.fit http://m.dlnmbq.fit http://m.ofemwp.fit http://m.gebxaj.fit http://m.ipcihw.fit http://www.optcvs.fit http://m.bm1961xanagez.fit http://m.gwpcst.fit http://wap.ervgxm.fit http://m.njfsga.fit http://m.jgqmcv.fit