linux 负载命令(linux查看历史负载)

大家好,今天小编来为大家解答以下的问题,关于linux 负载命令,linux查看历史负载这个很多人还不知道,现在让我们一起来看看吧!

1、Linux系统基本网络

1.1、服务器注意事项:

远程服务器不允许关机,只能重启

重启时应该先关闭服务

不要在服务器访问高峰运行高负载命令

远程配置防火墙时不要把自己踢出服务器

指定合理的密码规范并定期更新

合理分配权限

定期备份重要的数据和日志

1.2、设置网络桥接命令和(ANT模式):

systemctl restart network------重启网卡service network restart---------重启网络服务

systemctl  stop NetworkManager临时暂停网络管理器systemctl disable NetworkManager永久关闭网络管理器

systemctl start NetworkManager   拥有root用户的可执行权限

systemctl stop NetworkManager   停止并禁用虚拟机 NetworkManager服务

systemctl disable NetworkManager

注意:修改网络配置文件后,需要重新加载网络连接,如果是通过network.service则使用命令:systemctl restart network;如果是通过NetworkManager.service则使用nmcli命令:nmcli connection reload。

设置网络主要操作(桥接模式和)

[root@localhost network-scripts]# cd etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vi ifcfg-ens33

systemctl restart network------重启网卡

service network restart---------重启网络服务

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static      设置静态

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=10c17057-e9c9-4831-a8ff-0757ea0abc0b

DEVICE=ens33

ONBOOT=yes             #开机重启

#IPADDR=192.168.43.168       #ip地址(需要跟主机同一个网段,不同一个IP)

IPADDR=10.63.73.20         

#NETMASK=255.255.255.0       #子网掩码(下面三个都跟主机一样)

NETMASK=255.255.0.0

#GATEWAY=192.168.43.1       #网关

GATEWAK=10.63.255.254

#GATEWAK=10.200.0.3

#DNS1=192.168.43.1         #DNS服务

设置网络主要步骤(Nat模式)

1.打开Vm,点击编辑->虚拟网络编辑

2.选择VMnet8,将VMnet信息改为NAT模式,比如我的本机IP是192.168.138.1,子网掩码为255.255.255.0

所以我将下面的IP配置成192.168.138.0子网掩码配置成255.255.255

3.再点击NAT设置将网管配置成192.168.138.2(ps:网关不要配置成和自己IP地址一样)

然后再应用确定

4.右键点击虚拟机设置,网络适配器改为自定义(选择Vmnet8 Nat模式)

5.接下来开启虚拟机

cd/etc/sysconfig/network-scripts/

vim ifcfg-eno16777736

然后再执行命令:/etc/init.d/network restart

1.3、设置防火墙

1.3.1、防火墙命令

停止防火墙:

systemctl stop firewalld.service#停止firewall防火墙

service  iptables stop #(centos7版本之前)

永久关闭防火墙:

systemctl disable firewalld.service#禁止firewall开机启动(永久关闭防火墙)

chkconfig iptables off#永久关闭防火墙

开始防火墙:

systemctl start firewalld #启动防火墙

systemctl restart iptables.service#重启防火墙使配置生效

systemctl enable iptables.service#设置防火墙开机启动(重启)

查看防火墙状态:

systemctl status firewalld

service  iptables status#(7版本之前)

1.3.2、Linux chkconfig命令

Linux chkconfig命令用于检查,设置系统的各种服务。

这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

语法

chkconfig [--add][--del][--list][系统服务]或 chkconfig [--level<等级代号>][系统服务][on/off/reset]

参数:

--add增加所指定的系统服务,让 chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

--del删除所指定的系统服务,不再由 chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。

--level<等级代号>指定读系统服务要在哪一个执行等级中开启或关毕。

实例

列出chkconfig所知道的所有命令,可以用chkconfig–list查看所有的服务及其在每个级别的开启状态。

# chkconfig--list

开启服务

# chkconfig telnet on //开启 Telnet服务

# chkconfig--list   //列出 chkconfig所知道的所有的服务的情况

关闭服务

# chkconfig telnet off //关闭 Telnet服务

# chkconfig--list   //列出 chkconfig所知道的所有的服务的情况

[root@cent01 sbin]# chkconfig--level 3 network off //关闭3级别的network服务

[root@cent01 sbin]# chkconfig--list//3级别已关闭

network     0:关 1:关 2:开 3:关 4:开 5:开 6:关

[root@cent01 sbin]# chkconfig network on//不输入级别,默认打开2,3,4,5级别

[root@cent01 sbin]# chkconfig--list

network     0:关 1:关 2:开 3:开 4:开 5:开 6:关

[root@cent01 sbin]# chkconfig--del network//删除network

[root@cent01 sbin]# chkconfig--list //network已消失

mysqld      0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole    0:关 1:关 2:关 3:关 4:关 5:关 6:关

[root@cent01 sbin]# chkconfig--add network//增加network服务

[root@cent01 sbin]# chkconfig--list //network服务又恢复了

mysqld      0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole    0:关 1:关 2:关 3:关 4:关 5:关 6:关

network     0:关 1:关 2:开 3:开 4:开 5:开 6:关

[root@cent01 sbin]# chkconfig--list

注:该输出结果只显示 SysV服务,并不包含

原生 systemd服务。SysV配置数据

可能被原生 systemd配置覆盖。

   要列出 systemd服务,请执行'systemctl list-unit-files'。

   查看在具体 target启用的服务请执行

   'systemctl list-dependencies [target]'。

mysqld      0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole    0:关 1:关 2:关 3:关 4:关 5:关 6:关

注意:但是这里只显示了SysV管理的服务,centos6及之前都是这个管理工具,但是在centos7用的是systemd管理,所以systemd管理的服务在这里没有显示出来。

运行级别为系统启动级别,具体含义如下:

0 shutdown关机

1单用户模式

2无NFS支持的多用户模式

3完全多用户模式,常用的命令行模式

4保留给用户自定义

5图形界面登录,比3多了一个图形界面

6重启

1.3.2、Linux systemd命令

systemd是管理开机启动程序的工具(SysV启动开机进程时一次只能启动一个,而systemd则一次可以启动多个服务,这样就导致systemd的开机速度会更快。)

[root@localhost~]# systemctl list-units--all--type=service

  UNIT               LOAD    ACTIVE  SUB   DESCRIPTION

  abrt-ccpp.service        loaded   active  exited  Install ABRT coredump hook

  abrt-oops.service        loaded   active  running ABRT kernel log watcher

  UNIT               LOAD    ACTIVE  SUB   DESCRIPTION

[root@cent01 sbin]# ls/usr/lib/systemd/system //启动的脚本文件目录

[root@cent01~]# systemctl list-units //列出正在运行的unit

[root@cent01~]# systemctl list-units--all//列出所有的unit,包括active和inactive

[root@cent01~]# systemctl list-units--all--state=inactive//列出inactive的unit

[root@cent01~]# systemctl list-units--all--type=service //列出所有状态的service

[root@cent01~]# systemctl list-units--type=service //列出active的service

[root@cent01~]# systemctl is-active crond.service //查看某个unit是否active

systemctl enable crond.service//开机启动.service可以省略

systemctl disable crond.service//禁止开机启动

systemctl status crond.service //查看服务状态

systemctl start crond.service//启动服务

systemctl stop crond.service //停止服务

systemctl restart crond.service //重启服务

systemctl is-enabled crond.service //查看某个服务是否开机启动

unit/usr/lib/systemd/system此目录下列出了很多文件,这些文件都是unit。类别如下:

service系统服务target多个unit组成的组device硬件设备mount文件系统挂载点automount自动挂载点path文件或路径scope不是由systemd启动的外部进程slice进程组snapshot systemd快照socket进程间通信的套接字swap swap文件timer定时器

target target类似于centos6的启动级别,target内又包含多个unit的组合,当然target内也可以包含target。启动target就是启动多个unit,用target来管理这些unit。

[root@cent01~]# systemctl list-units--all--type=target //查看当前所有的target

  UNIT            LOAD    ACTIVE  SUB   DESCRIPTION

  basic.target        loaded   active  active Basic System

  bluetooth.target      loaded   active  active Bluetooth

[root@localhost~]# systemctl list-dependencies multi-user.target

multi-user.target

●├─abrt-ccpp.service

●├─abrt-oops.service

●├─abrt-vmcore.service

●├─abrt-xorg.service

[root@localhost~]# systemctl get-default //查看系统默认的target

multi-user.target

systemctl set-default multi-user.target //设置默认的target

multi-user.target等同于centos6的运行级别3。他们的对应关系如下:

SysV运行级别systemd target备注

0poweroff.target关闭系统

1rescure.target单用户模式

2multiuser.target用户自定义级别,通常识别为3

3multiuser.target多用户命令行模式

4multiuser.target用户自定义级别,通常识别为3

5graphical.target多用户图形界面,比级别3只多一个GUI

6reboot.target重启

所以总结起来,一个service属于一种unit,多个unit组成一个target,当然target里面也可以包含target。

1.4、ifconfig命令配置IP网络参数

格式:

[root@localhost/]#ifconfig [网络设备] [ip地址] [MAC地址] [netmask掩码地址] [broadcast广播地址(NDC)] [up/down]

[root@localhost/]#ifconfig eth0 192.168.74.130 netmask 255.255.255.0 up

用ifconfig命令配置eth0别名设备,为eth0绑定多个IP地址。

[root@localhost/]#ifconfig eth0:1 192.168.74.130

[root@localhost/]#ifconfig eth0:2 192.168.73.130

1.5、使用routedel命令添加路由

格式:

[root@localhost/]#routedel [-net|host] [网域或主机] netmask [mask] [gw]

[root@localhost/]#route#查看路由信息

功能:添加路由

-net:表示后面接的路由为一个网络。

-host:表示后面接的为连接到单部主机的路由。

netmask:与网络有关,可以设定netmask决定网路的大小。

gw: gateway(网关)的简写,后面接的是ip地址。

1.6、使用hostname命令修改主机名称

[root@localhost/]#hostname service.jw.com

hostnamectl set-hostname nod1

linux 下查看网络负载命令

用 netstat查看 Linux网络状况。

netstat-n| awk'/^tcp/{++S[$NF]} END{for(a in S) print a, S[a]}'

前面的 netstat-n是netstat的命令,Windows和Linux都可以用,结果显示内容差不多

后面的 awk'/^tcp/{++S[$NF]} END{for(a in S) print a, S[a]}'是Linux下的命令,主要作用是对netstat输出的结果进行过滤和处理:

运行这一句之后,显示的结果类似如下:

TIME_WAIT 27

FIN_WAIT1 435

FIN_WAIT2 89

ESTABLISHED 82

SYN_RECV 64

CLOSING 4

LAST_ACK 90

内容解释如下:

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

ESTABLISHED:代表一个打开的连接

SYN-RECV:再收到和发送一个连接请求后等待对方对连接请求的确认

SYN-SENT:再发送连接请求后等待匹配的连接请求

CLOSING:等待远程TCP对连接中断的确认

CLOSED:没有任何连接状态

CLOSE-WAIT:等待从本地用户发来的连接中断请求

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认

LISTEN:侦听来自远方的TCP端口的连接请求

在linux 中使用uptime 所看到的负载数怎么判断负载高

uptime

uptime

另外还有一个参数-V(大写),是用来查询版本的

procps是一个实用程序包,主要包括ps top kill等程序主要用来显示与控制一些系统信息,进程状态之类的内容。

以下显示输入uptime的信息:

04:03:58 up 10 days, 13:19, 1 user, load average: 0.54, 0.40, 0.20

当前时间 04:03:58

系统已运行的时间 10 days, 13:19

当前在线用户 1 user

平均负载:0.54, 0.40, 0.20,最近1分钟、5分钟、15分钟系统的负载

回到顶部

cat/proc/loadavg

最直接查看系统平均负载命令

root@Slyar.com:~# cat/proc/loadavg

0.10 0.06 0.01 1/72 29632

除了前3个数字表示平均进程数量外,后面的1个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程ID

回到顶部

何为系统负载呢?

系统平均负载被定义为在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:

它没有在等待I/O操作的结果

它没有主动进入等待状态(也就是没有调用'wait')

没有被停止(例如:等待终止)

一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢.

回到顶部

进阶参考

Linux Shell之uptime命令

阅读剩余
THE END