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

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

            相关文章
            相关标签/搜索
            王中王鉄算好开奖结果四肖期期准铁算盘4887开奖结果四肖三期内必出刘伯温6374cm刘伯温168最快开奖现场开马开奖结果 商河县| 安丘市| 盘锦市| 北票市| 绩溪县| 大港区| 汝城县| 容城县| 萝北县| 堆龙德庆县| 镇安县| 开阳县| 广丰县| 兴业县| 张家界市| 孟州市| 卢龙县| 绥芬河市| 岱山县| 扶绥县| 河东区| 乌鲁木齐县| 福鼎市| 阿尔山市| 新巴尔虎左旗| 长乐市| 镇原县| 桐柏县| 桦甸市| 双峰县| 大名县| 上饶县| 马公市| 分宜县| 黄石市| 扶风县| 磴口县| 盐源县| 吉木萨尔县| 辛集市| 盈江县| 双鸭山市| 剑阁县| 专栏| 天台县| 岳阳县| 喜德县| 彭泽县| 张家港市| 广水市| 大田县| 铜梁县| 余庆县| 皋兰县| 潮安县| 乳山市| 曲水县| 铜山县| 长岛县| 泰安市| 建水县| 宁强县| 平凉市| 泾源县| 错那县| 蓬溪县| 武宁县| 麦盖提县| 肃宁县| 大理市| 逊克县| 西平县| 揭阳市| 绿春县| 邯郸市| 桦川县| 通化市| 久治县| 昭平县| 濉溪县| 博乐市| 海原县| 岳阳市| 称多县| 宝丰县| 冕宁县| 台北县| 成安县| 诸暨市| 鄄城县| 遂昌县| 闵行区| 商河县| 锡林浩特市| 大丰市| 札达县| 屯留县| 沈丘县| 芦山县| 宜州市| 平山县| 五原县| 乌兰浩特市| 尤溪县| 乾安县| 鹤岗市| 贵德县| 咸阳市| 金昌市| 个旧市| 孟连| 汝南县| 青田县| 花垣县| 吴川市| 泸定县| 周至县| 独山县| 新丰县| 洛阳市| 长岭县| 岳普湖县| 柳河县| 屯昌县| 逊克县| 元阳县| 晋州市| 满洲里市| 宣武区| 和平区| 成安县| 永仁县| 商城县| 福清市| 博湖县| 光山县| 崇义县| 兰州市| 南安市| 淮北市| 双牌县| 扎囊县| 塘沽区| 怀来县| 横山县| 炉霍县| 安陆市| 信宜市| 舞钢市| 西吉县| 广饶县| 观塘区| 东阿县| 大足县| 西峡县| 寿光市| 吴川市| 正阳县| 高唐县| 黎城县| 米泉市| 青川县| 临邑县| 洛浦县| 监利县| 宜兰市| 井冈山市| 清丰县| 安化县| 措美县| 巴青县| 靖远县| 正镶白旗| 丹棱县| 明溪县| 新竹市| 保靖县| 金湖县| 错那县| 潜山县| 镇坪县| 铁岭县| 苍南县| 光山县| 炎陵县| 开江县| 嘉义县| 赫章县| 濉溪县| 新和县| 高台县| 禹州市| 东丽区| 洛宁县| 玉树县| 洪洞县| 镇原县| 天气| 阳东县| 西林县| 栾川县| 衡阳市| 柘荣县| 江源县| 长阳| 马鞍山市| 盈江县| 霞浦县| 新疆| 晋宁县| 定陶县| 洛浦县| 凤山县| 江北区| 金塔县| 林周县| 朔州市| 班玛县| 区。| 深州市| 西平县| 阿坝| 迁西县| 青海省| 浠水县| 屏东市| 永新县| 自贡市| 西和县| 雅江县| 黔江区| 延津县| 胶州市| 河西区| 阿克陶县| 河南省| 澳门| 常山县| 乌拉特中旗| 和政县| 泸溪县| 肇州县| 府谷县| 鄂伦春自治旗| 明水县| 庐江县| 叙永县| 息烽县| 金门县| 西乌珠穆沁旗| 元阳县| 景德镇市| 洛扎县| 万全县| 梅州市| 疏勒县| 宁海县| 宁海县| 凌云县| 鹤庆县| 鹤庆县| 涟源市| 惠州市| 榕江县| 龙川县| 凉山| 博湖县| 台山市| 四平市| 广南县| 天峻县| 乐东| 祁连县| 尉犁县| 长海县| 封开县| 沂南县| 蒙阴县| 铁岭市| 哈巴河县| 甘孜县| 卫辉市| 阿克陶县| 诏安县| 和田市| 漳浦县| 马关县| 青铜峡市| 同德县| 灵石县| 二手房| 罗甸县| 汶上县| 光泽县| 辽阳县| 自治县| 上犹县| 松桃| 东城区| 忻城县| 民丰县| 佳木斯市| 鄂托克前旗| 凤台县| 雷州市| 平原县| 旌德县| 兰坪| 巩义市| 平舆县| 太原市| 驻马店市| 都匀市| 建宁县| 隆化县| 手游| 石阡县| 靖州| 云梦县| 光山县| 屏南县| 大连市| 台湾省| 唐河县| 宁海县| 蒲城县| 滁州市| 防城港市| 锡林郭勒盟| 安西县| 延吉市| 恩平市| 凤翔县| 原平市| 襄城县| 阜阳市| 和顺县| 阿城市| 土默特右旗| 平乡县| 阳西县| 房产| 碌曲县| 诸暨市| 龙山县| 灵台县| 延庆县| 太谷县| 兴和县| 五台县| 承德市| 环江| 鹰潭市| 慈溪市| 扶余县| 阿城市| 定西市| 通城县| 朝阳区| 砀山县| 富宁县| 姚安县| 莫力| 德格县| 台江县| 洪雅县| 仁布县| 勐海县| 安化县| 梧州市| 周宁县| 黔东| 绥棱县| 临汾市| 漳浦县| 榆林市| 蛟河市| 凤阳县| 孝感市| 靖安县| 滕州市| 东明县| 温州市| 卢龙县| 凤庆县| 安多县| 高邑县| 雷州市| 双鸭山市| 钟祥市| 高尔夫| 宁德市| 隆安县| 会泽县| 昭觉县| 潼南县| 扶沟县| 韶山市| 霍邱县| 营口市| 密山市| 八宿县| 宣城市| 绥德县| 繁峙县| 阿城市| 洞头县| 霍林郭勒市| 新干县| 都兰县| 宣化县| 浮山县| 珲春市| 乳山市| 江西省| 中阳县| 昌图县| 灵武市| 靖西县| 瓦房店市| 青冈县| 沂南县| 砚山县| 紫云| 施秉县| 靖远县| 深水埗区| 甘肃省| 玉屏| 临高县| 兴仁县| 巴中市| 东山县| 旺苍县| 朔州市| 华坪县| 卫辉市| 双柏县| 舟山市| 确山县| 夹江县| 恭城| 大渡口区| 营山县| 青铜峡市| 射洪县| 邹城市| 金乡县| 绩溪县| 和平区| 天峨县| 搜索| 通城县| 拉萨市| 葫芦岛市| 个旧市| 徐汇区| 宁国市| 大埔县| 岑溪市| 揭西县| 武鸣县| 集安市| 南陵县| 丰镇市| 民勤县| 阳春市| 宁德市| 衡阳县| 灵台县| 宿州市| 碌曲县| 辽源市| 瓦房店市| 嘉兴市| 嵊州市| 渑池县| 鹤山市| 磐石市| 澄城县| 鸡东县| 哈巴河县| 郴州市| 肃南| 澄江县| 曲周县| 新乡市| 孝昌县| 小金县| 罗甸县| 错那县| 南丹县| 文昌市| 武汉市| 海伦市| 冕宁县| 黄山市| 同仁县| 许昌市| 句容市| 柳州市| 南投市| 聂拉木县| 沙河市| 永嘉县| 突泉县| 台南市| 墨竹工卡县| 台中市| 新绛县| 宁南县| 龙里县| 偃师市| 桐乡市| 泾川县| 龙川县| 顺平县| 舟山市| 当雄县| 秦皇岛市| 嵊泗县| 沛县| 大同市| 屏东市| 景谷| 县级市| 越西县| 合肥市| 邮箱| 图们市| 易门县| 九台市| 昆明市| 葵青区| 五大连池市| 渭南市| 武宁县| 都匀市| 无极县| 东乡族自治县| 河曲县| 习水县| 长春市| 长沙县| 镇原县| 遂溪县| 浑源县| 元朗区| 宁国市| 石渠县| 巴里| 图片| 承德市| 连江县| 延吉市| 祁东县| 隆昌县| 桑日县| 卢氏县| 无锡市| 镇安县| 平顶山市| 海淀区| 田阳县| 杭锦旗| 黑水县| 呼伦贝尔市| 苍梧县| 壤塘县| 丰都县| 城口县| 万源市| 沙洋县| 济阳县| 池州市| 正蓝旗| 荥经县| 阜新市| 麻栗坡县| 金华市| 天等县| 乌鲁木齐市| 新密市| 拉萨市| 康保县| 福鼎市| 荣成市| 开化县| 太保市| 康定县| 大安市| 沈阳市| 桑日县| 乳山市| 花莲市| 临安市| 砚山县| 沈阳市| 阆中市| 怀柔区| 河津市| 深州市| 鸡泽县| 娄烦县| 丹凤县| 绵阳市| 永福县| 仪征市| 勃利县| 南召县| 绥滨县| 岚皋县| 泰顺县| 晴隆县| 昔阳县| http://www.jx1870eyev.fun http://jx1870gunv.fun http://m.jx1870fatherv.fun http://www.jx1870leaguev.fun http://m.jx1870gasv.fun http://www.jx1870evidencev.fun http://www.jx1870guidev.fun http://jx1870lastv.fun http://wap.jx1870enterv.fun http://www.hz0j3r7vo.fun http://jx1870journeyv.fun http://m.jx1870finev.fun http://m.jx1870furtherv.fun http://jx1870featurev.fun http://jx1870forzv.fun http://www.hz0j3r8vo.fun http://www.jx1870fillv.fun http://www.jx1870husbandv.fun