西安做商铺的网站,开发一个网页系统需要多少钱,产品软文范例大全,公司发展规划范文Linux高手#xff0c;其实都是玩儿命令行很熟练的人。命令行的学习捷径Linux命令有许多强大的功能#xff1a;从简单的磁盘操作、文件存取#xff0c;到进行复杂的多媒体图像和流媒体文件的制作#xff0c;都离不开命令行。在Linux的学习中#xff0c;新手都会遇到这么一个… Linux高手其实都是玩儿命令行很熟练的人。命令行的学习捷径Linux命令有许多强大的功能从简单的磁盘操作、文件存取到进行复杂的多媒体图像和流媒体文件的制作都离不开命令行。在Linux的学习中新手都会遇到这么一个问题自己对系统的每个命令都很熟悉但是在系统出现故障的时候就无从下手了。说到底就是学习的理论知识没有很好地与系统实际操作相结合。5大系统运维状态对运维来说查看系统运行状态是最基础的工作之一。要了解CPU、内存、进程、磁盘、网络这五大运维系统的运行状态需要掌握的运维命令有ls、ps、free、top、uptime、ifconfig、su/sudo、dmesg、iostat、vmstat、sar、htop、iotop、smem等命令。这些命令有的非常简单不做过多介绍重点介绍几个高效、神奇的命令它能帮助我们快速了解系统运行状态绝对是运维神器。典型Linux命令行Linux使用到了虚拟内存因此要准确的计算一个进程实际使用的物理内存就不是那么简单。Smem 是一款命令行下的内存使用情况报告工具它能够给用户提供 Linux 系统下的内存使用的多种报告。内存状态检测工具要安装smem这个工具需要在系统上安装EPEL软件源安装过程如下[rootlocalhost ~]# yum install epel-release[rootlocalhost ~]# yum install smem python-matplotlib python-tk要显示系统中每个进程的占用内存状态可执行如下图指令上图中“-k”参数用来显示内存单位“-s”是排序uss是对uss列进行排序这样就输出了系统中所有进行占用的内存大小非常清晰明白。smem还支持以百分比形式显示每个进程占用系统内存的比率如下图所示其中“-p”表示以百分比的形式报告内存使用情况这样每个进程占用的系统内存比重一目了然。smem还可以显示系统中每一个用户的内存使用情况如下图所示其中“-u”表示显示用户占用内存信息。最后smem还支持查看某个进程占用内存大小例如smem -P nginx smem -k -P nginx由此可知通过smem对每个进程占用的内存资源可以很轻松的获取。绝对是运维必备工具。CPU/内存占用进程这个应用需求在服务器的问题排查和故障处理上使用率非常高要获取这些信息只需要一些命令组合即可实现可以说非常简单。首先获取当前系统占用CPU最高的前10个进程最简单的方式是通过ps命令组合实现例如[rootlocalhost ~]# ps aux|head -1;ps aux|sort -rn -k3|head -10其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)信息。而“head-N”可以指定显示的行数默认显示10行。第二个命令是一个输出加排序组合ps参数的a指代all表示所有的进程u指代user id就是执行该进程的用户idx指代显示所有程序不以终端机来区分。接下来是sort命令其中r指代reverse这里是指反向比较结果输出时默认从小到大反向后从大到小。n指代numberic sort根据其数值排序。k代表根据哪一列进行排序后面的数字3表示按照第3列排序。本例中可以看到%CPU在第3个位置因此k3表示根据%CPU的数值进行由大到小的排序。接下来的“|”为管道符号将查询出的结果导到下面的命令中进行下一步的操作。最后的“head -10”命令获取默认前10行数据。清除僵尸过程一个僵尸进程产生的过程是父进程调用fork创建子进程后子进程运行直至其终止它立即从内存中移除但进程描述符仍然保留在内存中。要查找系统中的僵尸进程有多种方法这里给出一种命令行探测僵尸进程的方法[rootlocalhost ~]# ps -e -o stat,ppid,pid,cmd | egrep \\\\\\\^[Zz]\\\\\\\Z 10808 10812 [java] 介绍下几个参数-e参数用于列出所有的进程-o参数用于设定输出格式这里只输出进程的stat(状态信息)、ppid(父进程pid)、pid(当前进程的pid)cmd(即进程的可执行文件。egrep是linux下的正则表达式工具\\\\\\\^[Zz]\\\\\\\这是正则表达式^表示第一个字符的位置[Zz]表示小写z或者大写的Z字母即表示第一个字符为Z或者z开头的进程数据只所以这样是因为僵尸进程的状态信息以Z或者z字母开头。找到僵尸进程的pid后直接通过”kill -9 pid“命令杀掉即可但是如果僵尸进程很多的话就会很繁琐因此还需要一个批量删除僵尸进程的办法[rootlocalhost ~]# ps -e -o stat,ppid,pid,cmd | grep -e \\\\\\\^[Zz]\\\\\\\ | awk \\\\\\\{print $2}\\\\\\\ | xargs kill -9这是个命令组合通过管道实现命令的组合应用。“grep -e”相当于egrep命令。“awk \\\\\\\{print $2}\\\\\\\ ”是将前面命令的输出信息进行过滤仅仅输出第二列的值而第二列就是进程的ppid。“xargs kill -9”这是将得到的ppid传给“kill -9”作为参数也就是kill掉这些ppid。xargs命令可以将标准输入转成各种格式化的参数这里是将管道的输出内容作为参数传递给kill命令。杀掉僵尸进程这个是治标不治本的。真正的办法是不让它产生。那么如何避免僵尸进程的产生呢更多内容可以报名高俊峰《Linux高级架构师》系统培训课程深入学习~