centos 使用ss?centos8和9的区别
大家好,关于centos 使用ss很多朋友都还不太明白,今天小编就来为大家分享关于centos8和9的区别的知识,希望对各位有所帮助!
CentOS下查看CPU信息的详解
我们可以用/proc/cpuinfo查看CPU的信息。该文件包含系统上每个处理器的数据段落。/proc/cpuinfo描述中有6个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id和cpu cores。
(1)processor:包括这一逻辑处理器的唯一标识符。
(2)physical id:包括每个物理封装的唯一标识符。
(3)core id:保存每个内核的唯一标识符。
(4)siblings:列出了位于相同物理封装中的逻辑处理器的数量。
(5)cpu cores:包含位于相同物理封装中的内核数量。
(6)如果处理器为英特尔处理器,则vendor id条目中的字符串是GenuineIntel。
拥有相同physical id的所有逻辑处理器共享同一个物理插座。每个physical id代表一个唯一的物理封装。Siblings表示位于这一物理封装上的逻辑处理器的数量。逻辑处理器可能支持也可能不支持超线程(HT)技术。每个core id均代表一个唯一的处理器内核。所有带有相同core id的逻辑处理器均位于同一个处理器内核上。如果有一个以上逻辑处理器拥有相同的core id和physical id,则说明系统支持超线程(HT)技术。如果有两个或两个以上的逻辑处理器拥有相同的physical id,但是core id不同,则说明这是一个多内核处理器。cpu cores条目也可以表示是否支持多内核。
一.i386 i586 i686之间的区别
他们指的是适用于intel i386、i586、i686兼容指令集的微处理器。一般来说,等级愈高的机器可接受较低等级的rpm文件。
i386—几乎所有的X86平台,不论是旧的pentum或者是新的pentum-IV与K7系统CPU,都可以正常工作,i指得是Intel兼容的CPU,至于386就是CPU的等级。
i586—就是586等级的计算机,包括pentum第一代MMX CPU,AMD的K5,K6系统CPU(socket7插脚)等CPU都是这个等级。
i686—pentum 2以后的Intel系统CPU及K7以后等级的CPU都属于这个686等级。
你可以透过/proc/cpuinfo这个档案查询你的CPU等级。
二.查看CPU信息
我们可以通过/proc/cpuinfo这个文件来查看CPU的信息。
[root@qs-wgdb-1 proc]# more/proc/cpuinfo
processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 1
siblings: 8
core id: 0
cpu cores: 4
apicid: 32
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt
s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni
monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.14
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
processor: 1
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 0
siblings: 8
core id: 0
cpu cores: 4
apicid: 0
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt
s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni
monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.02
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
processor: 2
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 1
siblings: 8
core id: 1
cpu cores: 4
apicid: 34
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dt
s acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni
monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.04
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
….
processor: 14
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 1
siblings: 8
core id: 10
cpu cores: 4
apicid: 53
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5054.03
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
processor: 15
vendor_id: GenuineIntel
cpu family: 6
model: 44
model name: Intel(R) Xeon(R) CPUE5630@ 2.53GHz
stepping: 2
cpu MHz: 2527.071
cache size: 12288 KB
physical id: 0
siblings: 8
core id: 10
cpu cores: 4
apicid: 21
fpu: yes
fpu_exception: yes
cpuid level: 11
wp: yes
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips: 5053.98
clflush size: 64
cache_alignment: 64
address sizes: 40 bits physical, 48 bits virtual
power management: [8]
三.相关分析
3.1查看服务器位数
[root@qs-wgdb-1 proc]# arch
x86_64
x86_64:64位系统
X86:32位系统
3.2查看CPU是否支持64bit
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep flags| grep' lm'| wc-l
16
结果大于0,说明支持64bit计算. lm指long mode,支持lm则是64bit。
3.3逻辑CPU个数:
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'processor'| wc-l
16
注意:这里是逻辑CPU。就是我们在cpuinfo中看到的processor.
3.4物理CPU个数:
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'physical id'| sort| uniq| wc-l
2
这里指的是物理CPU,就是我们在服务器上看到的2个CPU插槽。
3.5每个物理CPU中Core的个数:
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'cpu cores'| wc-l
16
3.6是否为超线程:
如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。每个物理CPU中逻辑CPU(可能是core, threads或both)的个数.
[root@qs-wgdb-1 proc]# cat/proc/cpuinfo| grep'siblings'
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
siblings: 8
四.CPUID
CPUID是CPU生产厂家为识别不同类型的CPU,而为CPU制订的不同的单一的代码;不同厂家的CPU,其CPUID定义也是不同的;如“0F24”(Inter处理器)、“681H”(AMD处理器),根据这些数字代码即可判断CPU属于哪种类型,这就是一般意义上的CPUID。
由于计算机使用的是十六进制,因此CPUID也是以十六进制表示的。Inter处理器的CPUID一共包含四个数字,如“0F24”,从左至右分别表示Type(类型)、Family(系列)、Mode(型号)和Stepping(步进编号)。
从CPUID为“068X”的处理器开始,Inter另外增加了BrandID(品种标识)用来辅助应用程序识别CPU的类型,因此根据“068X”CPUID还不能正确判别Pentium和Celerom处理器。必须配合BrandID来进行细分。
AMD处理器一般分为三位,如“681”,从左至右分别表示为Family(系列)、Mode(型号)和Stepping(步进编号)。
Type(类型)
类型标识用来区别INTEL微处理器是用于由最终用户安装,还是由专业个人计算机系统集成商、服务公司或制作商安装;数字“1”标识所测试的微处理器是用于由用户安装的;数字“0”标识所测试的微处理器是用于由专业个人计算机系统集成商、服务公司或制作商安装的。我们通常使用的INTEL处理器类型标识都是“0”,“0F24”CPUID就属于这种类型。
Family(系列)
系列标识可用来确定处理器属于那一代产品。如6系列的INTEL处理器包括PentiumPro、PentiumII、PentiumIIXeon、PentiumIII和PentiumIIIXeon处理器。5系列(第五代)包括Pentium处理器和采用MMX技术的Pentium处理器。AMD的6系列实际指有K7系列CPU,有DURON和ATHION两大类。最新一代的INTELPentium4系列处理器(包括相同核心的Celerom处理器)的系列值为“F”
Mode(型号)
型号标识可用来确定处理器的制作技术以及属于该系列的第几代设计(或核心),型号与系列通常是相互配合使用的,用于确定计算机所安装的处理器是属于某系列处理器的哪种特定类型。如可确定Celerom处理器是Coppermine还是Tualutin核心;AthlonXP处理器是Paiomino还是Thorouhgbred核心。
Stepping(步进编号)
步进编号用来标识处理器的设计或制作版本,有助于控制和跟踪处理器的更改,步进还可以让最终用户更具体地识别其系统安装的处理器版本,确定微处理器的内部设计或制作特性。步进编号就好比处理器的小版本号,如CPUID为“686”和“686A”就好比WINZIP8.0和8.1的关系。步进编号和核心步进是密切联系的。如CPUID为“686”的PentiumIII处理器是cCO核心,而“686A”表示的是更新版本cD0核心。
BrandID(品种标识)
INTEL从Coppermine核心的处理器开始引入BrandID作为CPU的辅助识别手段。如我们通过BrandID可以识别出处理器究竟是Celerom还是Pentium4。
总结:
从/proc/cpuinfo这个文件,我们可以看出cpu的信息。这个有2个概念。一个是物理CPU个数和逻辑CPU个数。物理CPU就是我们在主板上卡槽看到CPU的个数。这个可以通过physical id这个进行判断。有几个不同的physical id就有几个物理CPU。至于逻辑CPU个数,我们可以通过processor来判断。这个比较简单。如果有2个物理封装的的CPU,有16个逻辑CPU。那么每个物理封装里面就有8个逻辑CPU。
CentOS网络状态工具ss命令使用方法
ss命令用于显示socket状态.他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计.它比其他工具展示等多tcp和state信息.它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:
所有的TCP sockets
所有的UDP sockets
所有ssh/ftp/ttp/https持久连接
所有连接到Xserver的本地进程
使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤
所有的state FIN-WAIT-1 tcpsocket连接以及更多
很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat-ant/lnt等.
展示他之前来做个对比,统计服务器并发连接数
netstat
# time netstat-ant| grep EST| wc-l
3100
real 0m12.960s
user 0m0.334s
sys 0m12.561s
# time ss-o state established| wc-l
3204
real 0m0.030s
user 0m0.005s
sys 0m0.026s
结果很明显ss统计并发连接数效率完败netstat,在ss能搞定的情况下,你还会在选择netstat吗,还在犹豫吗,看以下例子,或者跳转到帮助页面.
常用ss命令:
ss-l显示本地打开的所有端口
ss-pl显示每个进程具体打开的socket
ss-t-a显示所有tcp socket
ss-u-a显示所有的UDP Socekt
ss-o state established'( dport=:smtp or sport=:smtp)'显示所有已建立的SMTP连接
ss-o state established'( dport=:http or sport=:http)'显示所有已建立的HTTP连接
ss-x src/tmp/.X11-unix/*找出所有连接X服务器的进程
ss-s列出当前socket详细信息:
显示sockets简要信息
列出当前已经连接,关闭,等待的tcp连接
# ss-s
Total: 3519(kernel 3691)
TCP: 26557(estab 3163, closed 23182, orphaned 194, synrecv 0, timewait 23182/0), ports 1452
Transport Total IP IPv6
* 3691--
RAW 2 2 0
UDP 10 7 3
TCP 3375 3368 7
INET 3387 3377 10
FRAG 0 0 0
列出当前监听端口
# ss-l
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 10:::5989:::*
0 5*:rsync*:*
0 128:::sunrpc:::*
0 128*:sunrpc*:*
0 511*:http*:*
0 128:::ssh:::*
0 128*:ssh*:*
0 128:::35766:::*
0 128 127.0.0.1:ipp*:*
0 128::1:ipp:::*
0 100::1:smtp:::*
0 100 127.0.0.1:smtp*:*
0 511*:https*:*
0 100:::1311:::*
0 5*:5666*:*
0 128*:3044*:*
ss列出每个进程名及其监听的端口
# ss-pl
ss列所有的tcp sockets
# ss-t-a
ss列出所有udp sockets
# ss-u-a
ss列出所有http连接中的连接
# ss-o state established'( dport=:http or sport=:http)'
以上包含对外提供的80,以及访问外部的80
用以上命令完美的替代netstat获取http并发连接数,监控中常用到
ss列出本地哪个进程连接到x server
# ss-x src/tmp/.X11-unix/*
ss列出处在FIN-WAIT-1状态的http、https连接
# ss-o state fin-wait-1'( sport=:http or sport=:https)'
ss常用的state状态:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listen
closing
all: All of the above states
connected: All the states except for listen and closed
synchronized: All the connected states except for syn-sent
bucket: Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.
big: Opposite to bucket state.
ss使用IP地址筛选
ss src ADDRESS_PATTERN
src:表示来源
ADDRESS_PATTERN:表示地址规则
如下:
ss src 120.33.31.1#列出来之20.33.31.1的连接
#列出来至120.33.31.1,80端口的连接
ss src 120.33.31.1:http
ss src 120.33.31.1:80
ss使用端口筛选
ss dport OP PORT
OP:是运算符
PORT:表示端口
dport:表示过滤目标端口、相反的有sport
OP运算符如下:
= or le:小于等于= or ge:大于等于
== or eq:等于
!= or ne:不等于端口
or lt:小于这个端口 or gt:大于端口
OP实例
ss sport=:http也可以是 ss sport=:80
ss dport=:http
ss dport \:1024
ss sport \:1024
ss sport \:32000
ss sport eq:22
ss dport!=:22
ss state connected sport=:http
ss \( sport=:http or sport=:https \)
ss-o state fin-wait-1 \( sport=:http or sport=:https \) dst 192.168.1/24
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
ss命令帮助
# ss-h
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h,--help this message
-V,--version output version information
-n,--numeric don't resolve service names
-r,--resolve resolve host names
-a,--all display all sockets
-l,--listening display listening sockets
-o,--options show timer information
-e,--extended show detailed socket information
-m,--memory show socket memory usage
-p,--processes show process using socket
-i,--info show internal TCP information
-s,--summary show socket usage summary
-4,--ipv4 display only IP version 4 sockets
-6,--ipv6 display only IP version 6 sockets
-0,--packet display PACKET sockets
-t,--tcp display only TCP sockets
-u,--udp display only UDP sockets
-d,--dccp display only DCCP sockets
-w,--raw display only RAW sockets
-x,--unix display only Unix domain sockets
-f,--family=FAMILY display sockets of type FAMILY
-A,--query=QUERY,--socket=QUERY
QUERY:={all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]
-D,--diag=FILE Dump raw information about TCP sockets to FILE
-F,--filter=FILE read filter information from FILE
FILTER:= [ state TCP-STATE ] [ EXPRESSION ]
CentOS7安装shadowsocks介绍
使用 oneinstack一键安装脚本安装SS
安装shadowsocks:
wget tar xzf oneinstack.tar.gz cd oneinstack./shadowsocks.sh install
设置一个SS的密码,连接SS服务器的时候会用;密码设置完成后会要求设置端口,默认9001;
安装成功后会出现这些信息,需要记录一下以方便连接;
如果需要添加用户:
执行./shadowsocks.sh adduser
添加端口到防火墙:
CentOS 7默认防火墙为 Firewall,执行:
firewall-cmd--permanent--add-port=9001/tcp firewall-cmd--reload
9001为服务端口号,根据之前的设定修改
Shadowsocks服务管理命令:
systemctl start shadowsocks systemctl stop shadowsocks systemctl restart shadowsocks systemctl status shadowsocks
若出现无法连接成功,建议关闭防火墙后再试 systemctl stop firewalld.service停止firewall