linux基础

一、系统监控命令

  1.top命令:

  a、如图显示使用top命令查看系统的当前运行的情况。如图对top命令执行的结果做了简单的图解,下面针对每一项做详细的解释。

  

  b、第一行显示的内容依次为“系统当前时间 、系统到目前为止已运行的时间、当前登录系统的用户数量、系统负载(任务队列的平均长度)三个值分别为1分钟、5分钟、15分钟前到现在的平均值【这三个一般会小于1,如果持续高于5,请仔细查看那个程序影响系统的运行】”

  

  c、top命令的第二行“Tasks: 120 total,   2 running, 118 sleeping,   0 stopped,   0 zombie”显示的内容依次“所有启动的进程数”、“正在运行的进程数”、“挂起的进程数”、“停止的进程数”、“僵尸进程数”。

  

  d、top命令的第三行“Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st”显示的内容依次为“用户空间占用CPU百分比”、“系统内核空间占用CPU百分比”、“用户空间内改变过优先级的进程占用CPU百分比”、“空闲CPU百分比”、“等待输入输出CPU时间百分比”、“CPU服务于硬件中断所耗费的时间总额”、“CPU服务软中断所耗费的时间总额”、“Steal Time”  

   

  e、top命令第四行“Mem:    508820k total,   480172k used,    28648k free,    41944k buffers”显示内容依次为“物理内存总量”、“已使用的物理内存”、“空闲物理内存”、“内核缓存内存量”。    

  

  f、top命令第5行“Swap:   392184k total,        0k used,   392184k free,   259152k cached”显示内容依次为“交换区总量”、“已使用交互区总量”、“空闲交换区总量”、“缓冲的交换区总量”。  

    

  g、top命令第7行“PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND ”显示内容依次为“进程ID”、“进程所有者”、“优先级”、“nice值,负值表示高优先级,正值表示低优先级”、“进程使用的虚拟内存总量”、“进程使用的、未被换出的物理内存大小”、“共享内存大小”、“进程状态”、“上次更新到现在的CPU时间占用百分比”、“进程使用的物理内存百分比”、“进程使用CPU总时间”、“命令名、命令行”。

  

    补充:   top [选项参数]

        top -c:显示 完整命令:

        top -b:以批处理模式显示程序信息

        top -n 3:表示更新3次后终止更新显示

        top -d 3:设置信息更新时间为3s

        通过”shift + >”或”shift + <”可以向右或左改变排序列

  2、free命令

  命令格式:free [参数]

  参数说明:

-m:以M为单位查看内存使用情况(默认为kb)

  -b:以字节为单位查看内存使用情况

  -s:可以在指定时间段内不简单监控内存的使用情况

  -h:人性化显示

  

  Mem:表示物理内存统计; -/+ buffers/cached:表示物理内存的缓存统计 ;Swap:表示硬盘上交换分区的使用情况,

  第1行  Mem中total:表示物理内存总量。 used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
     free:未被分配的内存。 shared:共享内存,一般系统不会用到,这里也不讨论。 buffers:系统分配但未被使用的buffers 数量。
     cached:系统分配但未被使用的cache 数量。total = used + free
  第2行   -/+ buffers/cached中used:也就是第一行中的used - buffers-cached   也是实际使用的内存总量。free:未被使用的buffers 与

     cached 和未被分配的内存之和,这就是系统当前实际可用内存=free+buffers+cached。

  注:因为buffers和cached是系统为了提高性能申请的内存数,实际上当应用程序需要此功能时,是可以使用这些内存的,所以对应用程序来说,这些内存也是可以使用的。

     缓存(cached)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。

        缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定 期清空缓冲内容(即写如磁盘),也可以通过sync命令手动清空缓冲。
     eg:echo 1 > /proc/sys/vm/drop_caches   

    说明:1>. /proc是一个虚拟文件系统,我们可以通过对它的读写操作作为与kernel实体间进行通信的一种手段。也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整。也就是说我们可以通过调整/proc/sys/vm/drop_caches来释放内存。
      0 – 不释放
      1 – 释放页缓存即数字1是用来清空最近放问过的文件页面缓存
      2 – 释放dentries和inodes即数字2是用来清空文件节点缓存和目录项缓存
      3 – 释放所有缓存即数字3是用来清空1和2所有内容的缓存。
  3、ps 命令
   格式:ps [参数]
   参数:

      -A 显示所有进程(等价于-e)(utility)
      -a 显示一个终端的所有进程,除了会话引线
      -N 忽略选择。
      -d 显示所有进程,但省略所有的会话引线(utility)
      -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
      -p pid 进程使用cpu的时间
      -u uid or username 选择有效的用户id或者是用户名
      -g gid or groupname 显示组的所有进程。
      U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
      -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
      -l 长格式(有F,wchan,C 等字段)
      -j 作业格式
      -o 用户自定义格式。
      v 以虚拟存储器格式显示
      s 以信号格式显示
      -m 显示所有的线程
      -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
      e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
      h 不显示第一行

      如图:
      
      1) 进程用户ID(UID),
      虽然 uid 通常是指数字型的标识,但在第一列下指定的是用户名,标记为 UID
      2) 进程ID (PID)
      3) 父进程ID (PPID)PPID 是父进程的标识号。对于 Oracle 进程,这里的标识号为 1 — 它是 init 进程(所有进程的父进程)的 id,因为在本系统中安装的 Oracle 是作为登录进程的一部分而启动的
      4) CPU 调度情况 (C)即是是由 CPU 用于计算执行优先级的因子。
      5) 进程启动的时间 (STIME) 
      6) 进程共占用CPU的时间(TIME) 
      7) 启动进程的命令 (CMD) 
      8)问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。
  4、pstree命令 
  pstree是查看进程树,如果进程太多看起来很不方便,可以使用pstree以树形方式显示正在运行的所有进程
  语法:pstree  [选项] [参数]
    -a  显示每个程序的完整指令,包含路径,参数或是常驻服务的标示。
    -c  不使用精简标示法。
    -G  使用VT100终端机的列绘图字符。
    -h  列出树状图时,特别标明现在执行的程序。
    -H <程序识别码>  此参数的效果和指定”-h”参数类似,但特别标明指定的程序。
    -l  采用长列格式显示树状图。
    -n  用程序识别码排序。预设是以程序名称来排序。
    -p  显示程序识别码(程序识别码值得是pid)。
    -u  显示用户名称。
    -U  使用UTF-8列绘图字符。
    -V  显示版本信息。
  5、kill命令和pkill命令和killall命令
   语法: kill [信号代码-9-1]   进程ID (-9是强制杀死该进程,-1是重启该进程)
      pkill [选项]  [进程名称]                             
      killall [选项]  [进程名称]
    注释:pkill 和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill 来杀掉.killall 通过程式的名字,直接杀死所有进程,
二、硬盘分区、格式化及文件系统的管理
  1、fdisk命令
   语法:fdisk 需要分区的硬盘路径
   disk命令参数介绍
     p、打印分区表。
     n、新建一个新分区。
     d、删除一个分区。
     q、退出不保存。
     w、把分区写进分区表,保存并退出。
  2、mkfs命令(格式化分区的命令)   
    mkfs -t fstype /dev/part -t选择格式化的类型,然后是那个分区    
    mkfs.ext2 /dev/part 格式化为ext2的类型,然后是接那个分区    
    mkfs.ext3 /dev/part 格式化为ext3的类型,然后是接那个分区    
    mkfs.ext4 /dev/part 格式化为ext4的类型,然后是接那个分区    
  3、mount命令
  命令格式: 
    mount [-t vfstype] [-o options] device dir    
       -t 指定文件系统类型,例如:-t ext3、-t ext4、-t vfat    
       -o 指定挂载选项,例如:    
       -o ro,rw 以只读形式挂载,以读写形式挂载;默认是rw    
       -o async 代表所有操作使用缓存(内存):提高文件系统读写数据的效率;默认为async使用缓存(内存);    
       -o sync 代表所有操作直接写入磁盘:代表所有操作不使用缓存,而是直接写入磁盘;应用在对数据安全性比较高的场景    
       -o atime 代表每次访问文件时,更新文件被访问的时间,默认为atime;atime=access time的缩写    
       -o noatime 代表每次访问文件时,不更新文件被访问的时间    
       -o remount 代表重新挂载文件系统
      

     补充:  

     1、程序运行三种状态:      

       运行态:CPU正在运行的程序     

        就绪态:等待cpu运的程序      

       阻塞态:进行其他 I/O操作,不占用CPU,I/O操作完成后返回就绪态

     2、dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。。    
               dd测试硬盘速度:dd if=/dev/zero of=/a.txt bs=200M count=1      
         dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。     
       注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2    
      参数注释:    
       if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >    
       of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >   
       ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。     
       obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。      
      bs=bytes:同时设置读入/输出的块大小为bytes个字节。   
         count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数

pstree(选项)

来自: http://man.linuxde.net/pstree

pstree(选项)

来自: http://man.linuxde.net/pstree

pstree(选项)

来自: http://man.linuxde.net/pstre     、:12

linux基础part4的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

随机推荐

  1. xml格式发送

    1. namespace xml格式发送 { /// <summary> /// 实体转Xml,Xml转实体类 /// </summary> /// <typeparam ...

  2. asp.net core mvc视频A:笔记3-4.母版页与部分视图

    新建项目3.4, 新建一个共享文件,一般存放在Shared目录下方 选择 如果安装了Reshaper插件可以这样添加(插件在本人博客中找) 代码 创建一个空的控制器TestController 使用布 ...

  3. asp.net core mvc视频A:笔记3-3.Model与强类型视图

    创建项目,添加TestController 定义一个类(Model),并赋值 建立视图页面 注意:Model是一个特定的对象,取决于传递过来的参数 运行结果 到现在为止,依然没有改变动态类型,需要转换 ...

  4. asp.net core mvc视频A:笔记2-4.ActionResult(动作结果,即返回值)

    json类型测试 方法一:实例化对象方式 代码 运行结果 方法二:封装方式 代码改动 运行结果 重点视图返回介绍,其他的不做介绍了 项目文件目录及文件添加 代码 运行结果 如果要显示的不是默认视图,可 ...

  5. VB中的排序问题 15个

    首次接触VB,以下就先进行VB中的排序问题                   Dim a As Integer Dim b As Integer Dim c As Integer Dim d As ...

  6. RTM-DSP项目总结

    1.  项目介绍 在NINJA设备上支持RTM-ISDN卡 RTM-ISDN卡硬件组成 主要组成单元 C6415: DSP PEB383(上图中的PEX8112改为PEB383,由于后者具有NT功能) ...

  7. oracle高性能的SQL语句的写法

    1.当多表查询的时候,把数据量小的表放在最后面,ORACLE会把最后面的表当作基础表,因为表间连接时,最右边的表会被放到嵌套循环的最外层.最外层的循环次数越少,效率越高. 2.Oracle采用自下而上 ...

  8. shell学习五十七天----linux任务管理,针对上一讲的总结和扩展

    linux任务管理 在linux下有两类任务管理,各自是一次性和周期性.一次性是at和batch,周期性又分为系统不论什么和用户任务. 一次性任务: 1.命令格式:at [选项] time 2.选项: ...

  9. centos7.2 开发 部署 .net core

    1.centos7.2 安装 nginx官方文档:http://nginx.org/en/linux_packages.html#mainline 创建nginx.repo 文件 Pre-Built ...

  10. 对象复制帮助类---DeepCopy

    有的时候我们在对一个引用类型的对象进行传递操作的时候希望不要直接修改传递过来的对象,而是复制出一份来操作的时候就可以用下面的类进行复制 sing System.IO; using System.Run ...