top 命令用法及参数;
top 选择参数
参数:
- -b 以批量模式运行,但不能接受命令行输入;
- -c 显示命令行,而不仅仅是命令名;
- -d N 显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔为5秒;
- -i 禁止显示空闲进程或僵尸进程;
- -n NUM 显示更新次数,然后退出。比如 -n 5,表示top更新5次数据就退出;
- -p PID 仅监视指定进程的ID;PID是一个数值;
- -q 不经任何延时就刷新;
- -s 安全模式运行,禁用一些效互指令;
- -S 累积模式,输出每个进程的总的CPU时间,包括已死的子进程;
- space 立即更新;
- c 切换到命令名显示,或显示整个命令(包括参数);
- f,F 增加显示字段,或删除显示字段;
- h,? 显示有关安全模式及累积模式的帮助信息;
- k 提示输入要杀死的进程ID,目的是用来杀死该进程(默人信号为15)
- i 禁止空闲进程和僵尸进程;
- l 切换到显法负载平均值和正常运行的时间等信息;
- m 切换到内存信息,并以内存占用大小排序;
- n 提示显示的进程数,比如输入3,就在整屏上显示3个进程;
- o,O 改变显示字段的顺序;
- r 把renice 应用到一个进程,提示输入PID和renice的值;
- s 改变两次刷新时间间隔,以秒为单位;
- t 切换到显示进程和CPU状态的信息;
- A 按进程生命大小进行排序,最新进程显示在最前;
- M 按内存占用大小排序,由大到小;
- N 以进程ID大小排序,由大到小;
- P 按CPU占用情况排序,由大到小
- S 切换到累积时间模式;
- T 按时间/累积时间对任务排序;
- W 把当前的配置写到~/.toprc中;
语法及参数说明
usage: top -hvbcisqS -d delay -p pid -n iterations
- -s time 设置屏幕刷新的延时,单位为秒,默认值5秒
- -d count 设置屏幕刷新的次数,刷新显示完count次后退出
- -q 如果经过nice授权,使用-q可以使top运行的更快一些
- -u 用显示User ID代替username,提高命令运行速度
- -h 当系统由多个CPU时,个别CPU的状态信息被隐藏,只显示平均状态值
- -n number 设置每一屏幕显示的进程数目,number值超过进程最大数目,则设置无效
- -f filename 输出重定向到给定的文件名,默认为16个进程信息
屏幕控制命令 :当有多个屏幕内容显示时,可以用到下面的命令
键盘命令 :- j 如果不是最后的屏幕显示,按下j键可以切换到下一屏幕
- k 如果不是最初的屏幕显示,按下k键可以切换到前一屏幕
- t 按下k键可以切换到最初的屏幕
- q 退出top命令的执行,可以在任何时候键入q键即可
系统信息:
14:50:01 up 83 days, 10 min, 0 users, load average: 0.75, 0.86, 0.86
164 processes: 160 sleeping, 4 running, 0 zombie, 0 stopped
CPU states: cpu user nice system irq softirq iowait idle
total 38.3% 0.0% 19.4% 0.0% 0.0% 0.7% 41.5%
cpu00 70.8% 0.0% 26.2% 0.0% 0.0% 0.0% 2.9%
cpu01 51.4% 0.0% 33.0% 0.0% 0.0% 0.9% 14.5%
cpu02 25.2% 0.0% 17.4% 0.0% 0.0% 0.0% 57.2%
cpu03 5.8% 0.0% 0.9% 0.0% 0.0% 1.9% 91.2%
首部的几行显示系统的几个信息,其中包括:
- + system:系统名和当前日期.
- + Load averages:1分钟、5分钟和15分钟内运行的负载平均数
- 一般来说只要每个CPU的当前活动进程数不大于 3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题
- + 最近一次更新时存在的进程总数,并分别列出run(运行)、sleep(睡眠)、idle(停止)和zomb(‘僵尸’)状态的进程数
- + CPU state:用户占用时间的百分比、系统占用CPU时间的百分比、被nice命令改变优先级的任务占用的CPU时间百分比、以及CPU空闲时间的百分比。(被nice命令改变优先级的任务仅指那些nice值为负的任务)。花费在被nice命令改变优先级的任务上的时间也将被计算在系统和用户时间内,因此整个时间加起来可能会超过百分之百
- + avg:活动进程的平均值 (仅当多处理器系统时列出).
- 内存信息
- Mem: 4115792k av, 4056080k used, 59712k free, 0k shrd, 7072k buff
- 2950040k actv, 263064k in_d, 82612k in_c
- Swap: 8289500k av, 119824k used, 8169676k free 3517880k cached
- Memory:关于内存使用情况的统计,包括实际(real)内存的活动值/总值,虚拟(virtual)内存的使用值/总值,剩余的内存。
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND
26359 oracle 16 0 687M 686M 685M S 0.5 17.0 16:42 0 oracle
25427 oracle 16 0 504M 503M 502M S 0.5 12.5 1:25 3 oracle
1605 oracle 24 0 10516 9.9M 8848 S 0.1 0.2 0:00 3 oracle
1607 oracle 24 0 10500 9.8M 8832 S 0.1 0.2 0:00 1 oracle
1 root 15 0 492 460 436 S 0.0 0.0 25:58 1 init
2 root RT 0 0 0 0 SW 0.0 0.0 0:00 0 migration/0
3 root RT 0 0 0 0 SW 0.0 0.0 0:00 1 migration/1
4 root RT 0 0 0 0 SW 0.0 0.0 0:00 2 migration/2
5 root RT 0 0 0 0 SW 0.0 0.0 0:00 3 migration/3
6 root 15 0 0 0 0 SW 0.0 0.0 0:00 1 keventd
7 root 34 19 0 0 0 SWN 0.0 0.0 0:00 0 ksoftirqd/0
8 root 34 19 0 0 0 SWN 0.0 0.0 0:00 1 ksoftirqd/1
列出系统里每一个处理器的信息,当信息在一个屏幕内无法显示时,会被分成多个屏幕显示,可以前面提到l,k和t命令查看
- CPU:处理器号(仅当多处理器系统时列出)
- TTY:终端名
- PID:进程号
- USERNAME:用户名
- PRI:任务的优先级
- NICE:任务的nice值,一个具有较低值的进程在系统上将具有优先权。可以通过改变nice值提高某些进程速度,但是这实际上是一种交易,因为那些nice值被升高的进程此时将运行得很慢。
- NI是Nice值,PR是优先权,Nice值是进程的一个属性,PR是根据NICE排序的,规则是NICE越小PR越前(小,优先权更大),如果NICE相同则进程gid或者uid是root的优先权更大
- SIZE:任务的代码加上数据再加上栈空间的大小。
- RES:任务使用的物理内存的总数量。
- STATE:任务的状态
- TIME:自任务开始时使用的总CPU时间,单位为秒,如153:43,对应是153秒43毫秒
- %WCPU:进程的CPU利用率权重百分比
- %CPU:进程的原始的CPU利用率百分比,自上一次屏幕刷新以来任务占用CPU 时间的份额
- COMMAND:启动进程的命令名。如果名字太长而不能
linux 权限掩码 umask
一 权限掩码umask
umask是chmod配套的,总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,例如你用chmod 755 file(此时这文件的权限是属主读(4)+写(2)+执行(1),同组的和其它用户有读写权限)
二 umask的作用
默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2),可以用ls -l验证一下哦 现在应该知道umask的用途了吧,它是为了控制默认权限,不要使默认的文件和目录具有全权而设的。
三 如何计算umask值
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到 7。
计算u m a s k值的方法:我们只要记住u m a s k是从权限中“拿走”相应的位即可。
umask值与权限表
Umask中的某位 | 文件 | 目录 |
0 | 6 | 7 |
1 | 6 | 6 |
2 | 4 | 5 |
3 | 4 | 4 |
4 | 2 | 3 |
5 | 2 | 2 |
6 | 0 | 1 |
7 | 0 | 0 |
如果umask为023,则对于文件所有者,不拿去任何权限,而新建的文件默认没有执行权限,故对文件所有者的权限位rw-(6);对组所有者,拿去写权限,原本没有执行权限,故为r--(4);对其他用户,拿去写和执行权限,原本没有执行权限,故为r--(4);
如果umask为023,因为没有新建目录没有执行权限的限制。则对于目录所有者,不拿去任何权限,故对目录所有者的权限为rwx(7);对组所有者,拿去写权限,故为r-x(5);对其他用户,拿去写和执行权限,故为r--(4);
四 常用的u m a s k值及对应的文件和目录权限
umask | 目录 | 文件 |
0 2 2 | 7 5 5 | 6 4 4 |
0 2 7 | 7 5 0 | 6 4 0 |
0 0 2 | 7 7 5 | 6 6 4 |
0 0 6 | 7 7 1 | 6 6 0 |
0 0 7 | 7 7 0 | 6 6 0 |
五 修改umask值
知道了umask的作用后,你可以修改umask的值了,例如:umask 024则以后建立的文件和目录的默认权限就为642、753了。
六 将umask值保存到环境文件
若要长期修改umask的值,可以把它写进/etc/profile或~/.profile或~/.bash_profile中。