系统监控
top:是linux下常用的性能分析工具,类型windos任务管理器,5S刷新一次
1、top(top命令)、当前时间、up(当前系统稳定运行时间)、2用户(桌面和终端)、CPU平均负载:一分钟的,十分钟的,十五分钟的
2、Tasks:系统中总共运行的任务数 405 2个运行的 403个睡眠(等待CPU执行)的 0个停掉的 0个僵尸的(进程是树形的,一个子进程只有一个父进程,父进程结束后子进程应该一起结束,如果父进程死后,子进程未被回收,就是不运作的死进程,也就是僵尸进程,占用内存资源)
3、%cpu(s):进程占CPU的百分比,多核的话会显示cpu0、1等排列显示; us:用户程序占CPU的百分比; sy:系统程序占CPU的百分比; ni(nice):被修改过的程序占CPU百分比(好心值,值越高,优先级越低); id: CPU空闲的百分比; wa: 等待运行的程序占CPU的百分比; hi: 硬件终端占的百分比; si: 软件终端占的百分比; st:CPU被偷走的百分比(如虚拟机在真机上运行)
4、KiB Mem:以KB为单位查看内存,物理内存;
5、KiB Swap:以KB为单位查看内存,虚拟内存;使用量0,如果大于0说明物理内存不够用了,用到了虚拟内存
进程信息
列名 |
含义 |
PID |
进程id |
PPID |
父进程id |
RUSER |
Real user name |
UID |
进程所有者的用户id |
USER |
进程所有者的用户名 |
GROUP |
进程所有者的组名 |
TTY |
启动进程的终端名。不是从终端启动的进程则显示为 ? |
PR |
优先级 |
NI |
nice值。负值表示高优先级,正值表示低优先级 |
P |
最后使用的CPU,仅在多CPU环境下有意义 |
%CPU |
上次更新到现在的CPU时间占用百分比 |
TIME |
进程使用的CPU时间总计,单位秒 |
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
%MEM |
进程使用的物理内存百分比 |
VIRT |
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
SWAP |
进程使用的虚拟内存中,被换出的大小,单位kb。 |
RES |
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
CODE |
可执行代码占用的物理内存大小,单位kb |
DATA |
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb |
SHR |
共享内存大小,单位kb |
nFLT |
页面错误次数 |
nDRT |
最后一次写入到现在,被修改过的页面数。 |
S |
进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
COMMAND |
命令名/命令行 |
WCHAN |
若该进程在睡眠,则显示睡眠中的系统函数名 |
Flags |
任务标志,参考 sched.h |
cpu负载<=1:能正常应付
cpu负载>1:超负荷运转
pu利用率和cpu负载过高,都是不好的现象,但是也有可能出现,低利用率,高负载的情况:
为一个码农分配了100个项目,毫无疑问,该码农的负载是很高的,但是码农在具体去做一个项目时,可能会碰到需要购买机器,或者查询资料等耗费时间的问题,真正动手写代码的时间可能很短,而这段时间才是码农真正为公司干活的时间,如果每个项目都有类似这种问题,那么100个项目加到一起,码农真正工作的时间也不会太多,这就造成了低利用率。
在两种情况下会导致一个进程在逻辑上不能运行,
1. 进程挂起是自身原因,遇到I/O阻塞,便要让出CPU让其他进程去执行,这样保证CPU一直在工作
2. 与进程无关,是操作系统层面,可能会因为一个进程占用时间过多,或者优先级等原因,而调用其他的进程去使用CPU。
buffer和cache的解释:
- A buffer is something that has yet to be "written" to disk.
- A cache is something that has been "read" from the disk and stored for later use.
就是说buffer是用于存放要输出到disk(块设备)的数据的,而cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。
释放:
echo 3 > /proc/sys/vm/drop_caches
这里的"3"表示释放所有buffers和cached中能释放的部分。
free命令显示内存使用状态
使用free
命令查看Linux
系统使用内存时,used
一项会把当前cache
的大小也会加进去,这样会造成free
这一栏显示的内存特别少:
实际上,cache
根据应用程序的需要是可以回收利用的,因此free
这一栏并不能真实地表现有多少“可以使用”的内存。实际系统可用内存应该以available
数据为准。
使用-w
命令行选项得到buff
和cache
各自使用的数量:
free
表示的是当前完全没有被程序使用的内存;而cache
在有需要时,是可以被释放出来以供其它进程使用的(并不是所有都会释放)
分区:
如图操作
接着:
进行格式化: