centos linux系统日常管理复习 物理CPU和每颗CPU的逻辑核数,uptime ,w,vmstat,iftop ,iotop ,sar ,ps,netstat ,一个网卡配置多个IP,mii-tool 网络连接,ethtool网卡速率,一个网卡配置多个IP,mii-tool 网络连接,ethtool网卡速率 ,iptables ,crontab表备份,chkconfig,rsync ,wtmp ,btmp ,secure,dmesg,find,tcpdump,curl,dmidecode,dig,free 第十八节课
39道题
1. 如何看当前Linux系统有几颗物理CPU和每颗CPU的逻辑核数?
物理cpu
逻辑核数
逻辑线程数 w命令的load average,上两位数就要注意了
2. 查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢?
w命令
uptime命令
top
1分钟 cpu负载 如果显示2 表示 一分钟内有两个进程处于活动状态
5分钟 cpu负载
15分钟 cpu负载
3. vmstat r, b, si, so, bi, bo 这几列表示什么含义呢?
vmstat各指标含义:
r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :block表示等待资源的进程数,比如等待I/O, 内存,网络等,这列的值如果长时间大于1,则需要关注一下了
swpd:swap不停变化,内存不够
si :由交换区进入内存的数量;
so :由内存进入交换区的数量;
bi :从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘);
us:用户程序负载
id:空闲百分比
vmstat 1 10
看磁盘IO 内核需要大于或等于2.6.20 才能使用IOTOP
uname -r 查看内核版本
查看网卡流量iftop
查看实时网卡流量,查看网卡是否打满
sar -n DEV 1 5 // 1秒打印一次 ,走5次 跟vmstat一样
我们的带宽,100M带宽,实际上是100 bit 需要除以8换算为字节 12.5MB/s
5. 使用top查看系统资源占用情况时,哪一列表示内存占用呢?
RES 这一项为进程所占内存大小,而 %MEM 为使用内存百分比。在 top状态下,按 “shift + m”, 可以按照内存使用大小排序。
6. 如何实时查看网卡流量为多少?如何查看历史网卡流量?
sar -n DEV
sar -n DEV -f /var/log/sa/sa24
7. 如何查看当前系统都有哪些进程?
ps -aux
ps -elf
显示内容差不多
8. ps 查看系统进程时,有一列为STAT, 如果当前进程的stat为Ss 表示什么含义?如果为Z表示什么含义?
S sleep 已经中断的进程,系统中大部分进程都是这个状态
s 主进程
Z 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。
pstree命令
9. 如何查看系统都开启了哪些端口?
netstat -lnp
两种用法
-an 来源ip 目标ip 协议 tcp/udp 状态 包括Unix socket
-lnp 端口
10. 如何查看网络连接状况?
netstat -an 查看当前系统所有的连接
12. 能否给一个网卡配置多个IP? 如果能,怎么配置?
可以
网卡的名字可以随便改:ifcfg-192_168_6_2
不设置网关,不让计算机上网,预防微软查内网的机器
可能需要脱义 在这里脱义不脱义无所谓:ifcfg-eth0:1
我们给一块网卡配置多个IP地址的配置文件命名为ifcfg-eth0:1和ifcfg-eth0 :2
root@rep1 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1 #复制原来网卡配置
[root@rep1 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:2 #复制原来网卡配置
[root@rep1 network-scripts]# vi ifcfg-eth0:1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0:1 #此处修改
BOOTPROTO=static
BROADCAST=172.28.255.255 #IP地址的广播地址
HWADDR=00:0C:29:D5:39:A0 #MAC地址,不用修改
IPADDR=172.28.90.201 #设置新的IP
NETMASK=255.255.0.0
NETWORK=172.28.0.0
ONBOOT=yes
~
——————————————————————————————————
~
"ifcfg-eth0:1" 9L, 206C written
[root@rep1 network-scripts]# vi ifcfg-eth0:2
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0:2 #此处修改
BOOTPROTO=static
BROADCAST=172.28.255.255 #IP地址的广播地址
HWADDR=00:0C:29:D5:39:A0 #MAC地址,不用修改
IPADDR=172.28.90.202 #设置新的IP
NETMASK=255.255.0.0
NETWORK=172.28.0.0
ONBOOT=yes
~
———————————————————————————————————
~
"ifcfg-eth0:2" 9L, 206C written
[root@rep1 network-scripts]# service network restart #重启下网络服务
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
[root@rep1 network-scripts]# ifconfig
13. 如何查看某个网卡是否连接着交换机?
CentOS6 不需要指定网卡
mii-tool
CentOS5 需要指定网卡
mii-tool eth0
link ok 表示连接交换机
mii-tool命令已经废弃,如果要查看网卡速率,建议使用ethtool命令
查看网卡速率 百兆还是千兆还是万兆
ethtool eth0
speed :1000Mb/s
http://blog.csdn.net/liugongfeng/article/details/50263733
网卡速率和网线,交换机端口速率都有关系,看到Auto-negotiation字段了吧,on表示开启
自动协商,插上网线后会两端会自动协商一个都支持的速率,而不是网卡速率是多少就是多少
Link detected 代表什么
以前就知道yes 表示网卡插好网线了(亮了),反过来呢?是不是插好网线就是yes
不是这样的,插好网线,还要激活网卡(ifup ethx, 其实是二层up)才会yes;
查看网卡是否加载了virtio_net驱动
ethtool –h //显示ethtool的命令帮助(help)
ethtool –i ethX //查询ethX网口的相关信息 网卡固件版本 驱动版本是否是virtio
ethtool –d ethX //查询ethX网口注册性信息
ethtool –r ethX //重置ethX网口到自适应模式
ethtool –S ethX //查询ethX网口收发包统计
ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商
如果机器用了virtio驱动网卡,需要用两个命令确定是否加载virtio驱动
第一个命令:lspci
第二个命令:ethtool
查看virtio驱动网卡,如果虚拟机有多个网卡,可以ethtool eth0 ,ethtool eth1,ethtool eth2 查看各个网卡的加载情况
[root@elk1 ~]# ethtool eth0
Settings for eth0:
Link detected: yes
[root@elk1 ~]# ethtool -i eth0
driver: virtio_net
version:
firmware-version:
bus-info: virtio0
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
16. 使用iptables 写一条规则:把来源IP为192.168.1.101访问本机80端口的包直接拒绝
有端口一定要加协议 -p tcp
17. 要想把iptable的规则保存到一个文件中如何做?如何恢复?
iptables-save > myipt.rule 将内存中的规则刷入到指定的文件
iptables-restore < myipt.rule 这样可以恢复指定的规则
默认
/etc/sysconfig/iptables
18. 如何备份某个用户的任务计划?
第一种方法:crontab -l >1.cronbak //要注意当前用户,如果当前是root用户,那么只保存root的crontab
第二种方法 :cat /var/spool/cron/root >1.cronbak //要备份steven用户,只需要cat /var/spool/cron/steven >1.cronbak
19. 任务计划格式中,前面5个数字分表表示什么含义?
分 时 日 月 周
2,5,9
*/10
10-16
20. 如何可以把系统中不用的服务关掉?
ntsysv 图形
chkconfig xx off
chkconfig atd off
rsync没有启动脚本
21. 如何让某个服务(假如服务名为 nginx)只在3,5两个运行级别开启,其他级别关闭?
chkconfig nginx off 所有级别先关闭
chkconfig --level 35 nginx on 只开启3,5级别
22. rsync 同步命令中,下面两种方式有什么不同呢?
(1) rsync -av /dira/ ip:/dirb/
(2) rsync -av /dira/ ip::dirb
通过ssh
通过 CS架构 使用模块名
23. rsync 同步时,如果要同步的源中有软连接,如何把软连接的目标文件或者目录同步?
加-L参数
24. 某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
/var/log/wtmp 查看用户登录历史 last
/var/log/btmp 查看无效登录历史 lastb
/var/log/secure
25. 网卡或者硬盘有问题时,我们可以通过使用哪个命令查看相关信息?
dmesg
26. 分别使用xargs和exec实现这样的需求,把当前目录下所有后缀名为.txt的文件的权限修改为777.
find . -type f -name *.txt |xargs -i chmod 777 需要管道
find . -type f -name *.txt exec -i chmod 777; 不需要管道
27. 有一个脚本运行时间可能超过2天,如何做才能使其不间断的运行,而且还可以随时观察脚本运行时的输出信息?
nohup xx
screen
28. 在Linux系统下如何按照下面要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
tcpdump -nn tcp and port 80 and host -c 1000 -w /1.cap
或
tcpdump -nn -i eth0 http and host 192.168.0.111 -c 1000 -w /1.cap
29. rsync 同步数据时,如何过滤出所有.txt的文件不同步?
rsync -av --exclude="*.txt" usr/ /tmp/123/
有通配符一定要加双引号
30. rsync同步数据时,如果目标文件比源文件还新,则忽略该文件,如何做?
-u
31. 想在Linux命令行下访问某个网站,并且该网站域名还没有解析,如何做?
curl -x 1.1.1.1:80 www.aminglinux.com
32. 自定义解析域名的时候,我们可以编辑哪个文件?是否可以一个ip对应多个域名?是否一个域名对应多个ip?
cat /etc/hosts
可以
不可以
33. 我们可以使用哪个命令查看系统的历史负载(比如说两天前的)?
sar -q -f /var/log/sa22 sa23
查看机器品牌
dmidecode |less
比如:DELL
http://digi.163.com/16/0526/08/BNVRNOKH00162OUT.html
以人类可读格式查看计算机DMI表内容的“dmidecode”开源工具(查看硬件信息),现已支持SMBIOS 3.0.0;
http://wenda.tianya.cn/question/1f9d1a7041cd4a65
DMI (Desktop Management Interface)
是 固化在主板芯片上的程序.
DMI (Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统。
DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。
这个DMI工具,它采用Windows界面,能够用于多款主板,完全兼容Windows /XP等各类操作系统。
34. 在Linux下如何指定dns服务器,来解析某个域名?
dig @8.8.8.8 www.aminglinux.com
用谷歌的DNS来解析 www.aminglinux.com这个网站
不加@8.8.8.8 使用本地DNS resolv.conf
dig www.aminglinux.com
# dig @8.8.8.8 www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> @8.8.8.8 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1909
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 1079 IN CNAME www.a.shifen.com.
www.a.shifen.com. 299 IN A 61.135.169.121
www.a.shifen.com. 299 IN A 61.135.169.125
;; Query time: 227 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Oct 13 22:39:16 2015
;; MSG SIZE rcvd: 90
35. 使用rsync同步数据时,假如我们采用的是ssh方式,并且目标机器的sshd端口并不是默认的22端口,那我们如何做?
"ssh -p 2220" 指定端口
rsync -avzL -e "ssh -p 2220" 192.168.21.112:/tmp/usr/ https://www.cnblogs.com/MYSQLZOUQI/p/usr/
36. rsync同步时,如何删除目标数据多出来的数据,即源上不存在,但目标却存在的文件或者目录?
--delete 删除源没有,而目标有的文件
37. 使用free查看内存使用情况时,哪个数值表示真正可用的内存量?
-/+ buffers/cache: 92 899
38. 有一天你突然发现公司网站访问速度变的很慢很慢,你该怎么办呢?(服务器可以登陆,提示:你可以从系统负载和网卡流量入手)
ping 一下服务器
top cpu,内存
vmstat 1 具体瓶颈 r多 还是b多
sar
39. rsync使用服务模式时,如果我们指定了一个密码文件,那么这个密码文件的权限应该设置成多少才可以?
chmod 600 passwd.txt
也可以只读
chmod 400 passwd.txt
Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息。Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS、系统、主板、处理器、内存、缓存等等。
一、Dmidecode简介
DMI (Desktop Management Interface, DMI)就是帮助收集电脑系统信息的管理系统,DMI的主要组成部分是Management Information Format (MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。
dmidecode的输出格式一般如下:
Handle 0×0002 DMI type 2, 8 bytes Base Board Information Manufacturer:Intel Product Name: C440GX+ Version: 727281-0001 Serial Number: INCY92700942
其中的前三行都称为记录头(recoce Header), 其中包括了:
recode id(handle): DMI表中的记录标识符,这是唯一的,比如上例中的Handle 0×0002。
dmi type id: 记录的类型,譬如说:BIOS,Memory,上例是type 2,即”Base Board Information”
recode size: DMI表中对应记录的大小,上例为8 bytes.(不包括文本信息,所有实际输出的内容比这个size要更大。)记录头之后就是记录的值
decoded values: 记录值可以是多行的,比如上例显示了主板的制造商(manufacturer)、model、version以及serial Number。
二、Dmidecode的作用
dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。
三、安装Dmidecode
Dmidecode 在主流的 Linux 发行版中都可以找到,只需通过所用发行版的包管理器安装即可,如:
不带选项执行 dmidecode 通常会输出所有的硬件信息。Dmidecode 有个很有用的选项 -t,可以按指定类型输出相关信息,假如要获得处理器方面的信息,则可以执行
# dmidecode
dmidecode 2.12
SMBIOS 2.4 present.
10 structures occupying 300 bytes.
Table at 0x000FD8D0.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Bochs
Version: Bochs
Release Date: 01/01/2011
Address: 0xE8000
Runtime Size: 96 kB
ROM Size: 64 kB
Characteristics:
BIOS characteristics not supported
Targeted content distribution is supported
BIOS Revision: 1.0
腾讯云用的Bochs
Bochs是一种十分轻便的使用c++编写的开源IA-32(x86)电脑模拟器,可以运行在最受欢迎的平台上。它仿真英特尔x86 CPU、常见的I/O设备、和定制的BIOS。Bochs可以被编译仿真386、486、Pentium/PentiumII/PentiumIII/Pentium4或x86-64位的CPU,包括可选的MMX,SSEx和3DNow指令。在Bochs仿真环境里能够运行许多操作系统,比如Linux、DOS、Windows 95/98/NT/2000/XP或者Windows Vista。Bochs是由凯文·劳顿编写的,由sourceforge的Bochs项目组维护。
Bochs可以被编译运用在多种模式下,其中有些仍处于发展中。bochs的典型应用是提供x86 PC的完整仿真,包括x86处理器、硬件设备、和存储器。这让您在您的工作站上的模拟器里运行操作系统和软件,就像你有一台机器内的机器。例如,Bochs还将允许您在安装X11的Solaris机上运行windows应用程序。