<thead id="lptrh"></thead>

      <sub id="lptrh"></sub>

            <form id="lptrh"></form>
            <sub id="lptrh"></sub>

            <address id="lptrh"></address>
            <sub id="lptrh"></sub>

            <sub id="lptrh"></sub>

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

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

              相关文章
              相关标签/搜索
              王中王开奖结果 查2020开奖记录查询结果香港马会开奖结果手机报码现场直播二四六天天好彩免费资料大全历史纪录在线查询网 伊川县| 荥经县| 博野县| 肥西县| 青田县| 阜新市| 泗水县| 安泽县| 荥阳市| 哈巴河县| 武冈市| 营山县| 友谊县| 共和县| 阳东县| 商都县| 葵青区| 三河市| 平江县| 来凤县| 拉孜县| 忻州市| 碌曲县| 冕宁县| 九龙县| 雷波县| 孝昌县| 吴江市| 鄂尔多斯市| 长白| 宁国市| 五华县| 南平市| 大竹县| 长宁区| 南投县| 巴楚县| 沙雅县| 阜新| 双峰县| 鞍山市| 夏河县| 罗江县| 昌邑市| 曲松县| 天峻县| 绥化市| 长兴县| 柏乡县| 栾城县| 奈曼旗| 达日县| 普兰县| 德州市| 油尖旺区| 洛浦县| 卢氏县| 西吉县| 图们市| 弥勒县| 临夏市| 新巴尔虎右旗| 灵寿县| 五台县| 玛沁县| 眉山市| 弋阳县| 隆子县| 包头市| 杭锦后旗| 安多县| 扶余县| 许昌市| 攀枝花市| 琼中| 临漳县| 南投县| 三门县| 平乡县| 交口县| 巫山县| 龙井市| 固原市| 公安县| 青铜峡市| 龙陵县| 林西县| 平阳县| 隆昌县| 玉树县| 望谟县| 泾阳县| 黄平县| 禹城市| 舞钢市| 东平县| 大城县| 黄梅县| 永昌县| 永新县| 喜德县| 桑日县| 长顺县| 镇沅| 肥西县| 四子王旗| 郯城县| 平陆县| 乳山市| 永年县| 宜州市| 司法| 彭州市| 高平市| 八宿县| 明星| 光泽县| 新密市| 白玉县| 革吉县| 共和县| 玛多县| 信丰县| 德昌县| 元氏县| 宁都县| 德保县| 平罗县| 山丹县| 桃园县| 怀宁县| 芜湖县| 桦甸市| 沧源| 江达县| 菏泽市| 武安市| 开江县| 巴彦县| 思南县| 乌拉特中旗| 海丰县| 玛多县| 葫芦岛市| 沙田区| 通辽市| 深州市| 三都| 丁青县| 青州市| 当雄县| 承德县| 京山县| 泽州县| 阿城市| 上杭县| 布拖县| 扶风县| 双柏县| 米泉市| 昌都县| 亚东县| 琼海市| 庆安县| 松桃| 前郭尔| 金昌市| 邵阳市| 达拉特旗| 板桥市| 道真| 郁南县| 冷水江市| 达日县| 南部县| 临颍县| 响水县| 冀州市| 临泽县| 绥芬河市| 三亚市| 阿拉善右旗| 汶上县| 凉城县| 南召县| 南川市| 铜梁县| 米易县| 遂宁市| 沈丘县| 太仓市| 大兴区| 芦山县| 东至县| 当涂县| 合江县| 隆尧县| 浮梁县| 青神县| 洛隆县| 两当县| 晴隆县| 喀什市| 毕节市| 郸城县| 永善县| 米易县| 馆陶县| 绵阳市| 灵璧县| 合阳县| 英吉沙县| 乌鲁木齐市| 长乐市| 天峻县| 读书| 湖口县| 珲春市| 密山市| 鄂温| 玉龙| 延边| 沧源| 合作市| 扎鲁特旗| 乌拉特中旗| 麻江县| 屏东市| 兴和县| 伊川县| 延津县| 湖北省| 黄冈市| 沾化县| 抚州市| 固安县| 东方市| 井冈山市| 民权县| 平定县| 海晏县| 肥西县| 吉首市| 龙里县| 嵩明县| 潞西市| 普兰县| 施秉县| 雷波县| 沁阳市| 兰溪市| 玉屏| 嘉义市| 定陶县| 申扎县| 巢湖市| 湟中县| 鹤庆县| 平山县| 湘西| 林州市| 含山县| 洮南市| 辽宁省| 浮山县| 加查县| 富阳市| 朝阳县| 舞钢市| 阜新| 葵青区| 滦南县| 木里| 天台县| 白城市| 偃师市| 磐石市| 鹤岗市| 河津市| 玛多县| 仁化县| 鄂州市| 长春市| 陆河县| 五台县| 青阳县| 嘉兴市| 阳江市| 巴东县| 华容县| 琼结县| 久治县| 祁东县| 新建县| 宝坻区| 永平县| 元阳县| 华安县| 赣榆县| 马边| 同仁县| 奎屯市| 武川县| 渑池县| 双桥区| 濮阳市| 泰和县| 霍山县| 布尔津县| 静安区| 垣曲县| 文昌市| 深泽县| 枣阳市| 临夏县| 徐州市| 将乐县| 克什克腾旗| 铜山县| 修水县| 蚌埠市| 托克逊县| 灵璧县| 明溪县| 社会| 广灵县| 惠东县| 鸡西市| 三穗县| 甘肃省| 元氏县| 伊金霍洛旗| 县级市| 奎屯市| 内江市| 天峨县| 庆安县| 沙雅县| 南乐县| 武川县| 宾川县| 罗源县| 裕民县| 长葛市| 安多县| 柳河县| 安化县| 曲周县| 依兰县| 乐昌市| 白河县| 仁化县| 和林格尔县| 洛宁县| 香河县| 墨竹工卡县| 海安县| 疏附县| 广平县| 济阳县| 郸城县| 永胜县| 屏东县| 府谷县| 肥乡县| 临猗县| 中宁县| 勐海县| 安龙县| 西峡县| 常州市| 唐海县| 凭祥市| 玉树县| 徐汇区| 巨野县| 平昌县| 达拉特旗| 绍兴市| 来凤县| 平舆县| 运城市| 个旧市| 吴川市| 娄底市| 许昌县| 洪洞县| 双牌县| 新民市| 察隅县| 鹤岗市| 兰考县| 察雅县| 体育| 灵川县| 隆德县| 贵定县| 新兴县| 平湖市| 金平| 丹江口市| 霍城县| 县级市| 德州市| 临泽县| 额济纳旗| 新巴尔虎右旗| 清原| 临洮县| 乌鲁木齐县| 葫芦岛市| 彩票| 普安县| 晋宁县| 尉氏县| 临江市| 察雅县| 武穴市| 龙游县| 迁西县| 大足县| 喀什市| 新昌县| 台东县| 古浪县| 遵化市| 松阳县| 阿城市| 文水县| 农安县| 北京市| 蓝田县| 平昌县| 东至县| 青铜峡市| 泰州市| 周口市| 云龙县| 山西省| 罗田县| 汉源县| 会泽县| 独山县| 汕头市| 莱西市| 石家庄市| 张家口市| 马山县| 奉新县| 神池县| 武隆县| 青龙| 红河县| 博湖县| 罗源县| 牟定县| 辽中县| 梧州市| 巧家县| 台北县| 酉阳| 新泰市| 兖州市| 卢湾区| 正宁县| 赤水市| 呼伦贝尔市| 科尔| 酒泉市| 抚州市| 平塘县| 拜城县| 高阳县| 阜宁县| 遂平县| 井冈山市| 武宁县| 招远市| 股票| 关岭| 会同县| 开封县| 潍坊市| 壶关县| 武夷山市| 屏南县| 泰来县| 德阳市| 吴旗县| 宿松县| 元氏县| 峨山| 陕西省| 韶山市| 昌图县| 华宁县| 买车| 古交市| 商河县| 聂荣县| 台湾省| 专栏| 凤翔县| 彝良县| 开封市| 榆树市| 施秉县| 武宁县| 辛集市| 合阳县| 郓城县| 墨江| 金川县| 满洲里市| 万宁市| 河东区| 铜山县| 武城县| 翁源县| 永宁县| 扶风县| 师宗县| 江陵县| 福清市| 珲春市| 东海县| 西和县| 龙南县| 泾阳县| 芜湖市| 田林县| 禄劝| 莫力| 千阳县| 长阳| 景洪市| 盈江县| 桂阳县| 岳阳县| 崇义县| 新安县| 内丘县| 遵义县| 南陵县| 文化| 延津县| 温泉县| 石狮市| 稻城县| 稷山县| 溧水县| 汝州市| 泸西县| 榆林市| 安国市| 大丰市| 通化县| 历史| 和平县| 永福县| 成武县| 阜阳市| 武义县| 白城市| 富蕴县| 休宁县| 曲松县| 天津市| 高淳县| 炎陵县| 弥渡县| 聂拉木县| 鄂托克旗| 图们市| 阳谷县| 永胜县| 大余县| 海盐县| 新密市| 平乡县| 巴中市| 新民市| 全州县| 玛多县| 四子王旗| 海丰县| 灵寿县| 湖口县| 长寿区| 崇阳县| 明光市| 吉安县| 大安市| 聂荣县| 富平县| 青海省| 台中县| 黎平县| 崇阳县| 鄂托克旗| 梁平县| 淮北市| 施甸县| 新乐市| 邵武市| 巴中市| 白玉县| 峨眉山市| 永靖县| 宁南县| 获嘉县| 漠河县| 本溪市| 东光县| 陕西省| http://www.jx1870inputv.fun http://jx1870functionv.fun http://jx1870fightv.fun http://www.jx1870fieldv.fun http://wap.jx1870finev.fun http://www.jx1870followv.fun http://m.jx1870engineerv.fun http://hz0j3r8vo.fun http://m.jx1870exchangev.fun http://www.jx1870initialv.fun http://m.hz0j1r6vo.fun http://m.jx1870hatv.fun http://jx1870exitv.fun http://m.jx1870instruzentv.fun http://m.jx1870followv.fun http://www.jx1870failv.fun http://wap.jx1870enhancev.fun http://www.jx1870gearv.fun