标签:free
一、iostat、freeiotop 磁盘使用
yum install -y iotop
free 查看内存使用情况
-b:以Byte为单位显示内存使用情况;
-k:以KB为单位显示内存使用情况;
-m:以MB为单位显示内存使用情况;
-o:不显示缓冲区调节列;
-s<间隔秒数>:持续观察内存使用状况;
-t:显示内存总和列;
-V:显示版本信息。
buffer/cache区别
公式:total=used+free+buff/cache
avaliable包含free和buffer/cache剩余部分
0000(磁盘)--》内存(cache )---》cpu //缓存
0000(cpu)--》内存(buff)--》磁盘 //缓冲
二、ps
ps 查看系统进程
用法:ps aux、ps -elf
ps aux | grep mysql 查看mysql的进程
STAT部分说明
D 不能中断的进程
R run状态的进程
S sleep状态的进程
T 暂停的进程
Z 僵尸进程
< 高优先级进程
N 低优先级进程
L 内存中被锁了内存分页
s 主进程
l 多线程进程
ls -l /proc/进程号/ 查看进程所在的位置
线程与进程
线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能。
假设,一个文本程序,需要接受键盘输入,将内容显示在屏幕上,还需要保存信息到硬盘中。若只有一个进程,势必造成同一时间只能干一样事的尴尬(当保存时,就不能通过键盘输入内容)。若有多个进程,每个进程负责一个任务,进程A负责接收键盘输入的任务,进程B负责将内容显示在屏幕上的任务,进程C负责保存内容到硬盘中的任务。这里进程A,B,C间的协作涉及到了进程通信问题,而且有共同都需要拥有的东西——-文本内容,不停的切换造成性能上的损失。若有一种机制,可以使任务A,B,C共享资源,这样上下文切换所需要保存和恢复的内容就少了,同时又可以减少通信所带来的性能损耗,那就好了。是的,这种机制就是线程。
线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID、程序计数器、寄存器集合和堆栈共同组成。线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能。线程没有自己的系统资源。
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。或者说进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
线程则是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。
进程和线程的关系:
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)CPU分给线程,即真正在CPU上运行的是线程。
三、查看网络状态
netstat 查看网络状态
netstat -lnp 查看监听端口
netstat -an 查看系统的网络连接状况
netstat -lntp 只看出tcp的,不包含socket
ss -an 和nestat异曲同工 但是ss不显示进程名字
分享一个小技巧:
netstat -an | awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}‘
查看各种状态的有多少个
ESTABLISHED 需要特别关注,如果特别大,就说明系统繁忙
tcp与udp区别与介绍
http://blog.csdn.net/li_ning_/article/details/52117463
tcp的三次握手与四次分手
https://www.cnblogs.com/leezhxing/p/4524176.html
四、抓包
yum install -y tcpdump
抓包工具tcpdump
用法:tcpdump -nn
tcpdump -nn -i ens33
tcpdump -nn port 80 //指定端口80
tcpdump -nn not port 22 and host 192.168.0.100 //指定host和端口不是22
tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap // 抓10个包放入1.cap中,可以用file命令查看信息
tcpdump -r /tmp/1.cap //读取抓到的包信息
tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
yum install -y wireshark
tcpdump -nn -i ens33
第一个n是ip,第二个n是端口号
不写n就显示主机名和ssh
标签:free
原文地址:http://blog.51cto.com/13569831/2089250