Linux学习心得-系统优化

查看内存

  •  free 内存查询
# free     #查看当前系统所有内存(默认kb为单位)
              total        used        free      shared  buff/cache   available
Mem:        1882284     1336680      117588        1996      428016      327052
Swap:       2097148     1355776      741372
# free -m #以MB单位显示
              total        used        free      shared  buff/cache   available
Mem:           1838        1275         144           1         417         349
Swap:          2047        1324         723
# free -h #以GB为单位显示
              total        used        free      shared  buff/cache   available
Mem:           1.8G        1.2G        144M        1.9M        417M        349M
Swap:          2.0G        1.3G        723M

# free --help 更多用法参考帮助文档

注意事项:建议swap内存使用量不超过20%,如果swap使用量过大基本是物理内存不够用,拿它来充数,虽然sawp可以起到跟真正物理内存相同的作用,但是非常烧磁盘,也没有真正内存使用效率高,那就赶紧找出原因,解决物理内存不足的问题。

  • top 可以查看内存使用情况,top使用方法请参考https://blog.csdn.net/yts1115084429/article/details/101641271

查看系统负载

  • uptime 查看cpu负载
$ uptime 
 18:32:13 up 16:40,  2 users,  load average: 0.00, 0.01, 0.05
 18:32:13   #当前系统时间
 up 16:40   #系统运行时间  已经运行了30分钟了
 2 users     #当前用户数量
load average:#系统平均负载 后面3个数值 代表1分钟 5分钟 15分钟内的负载

数值判断:
0.00 - 1.00之间 代表负载非常好  
1:00          代表负载正常 
1.00-3.00之间  代表负载比较高了,但是不会影响系统戏能 
               大于3就需要引起警惕 已经是高负载了

多cpu平均负载值:1*cpu个数 
一般我们都是查看5分钟 跟 15分钟的负载值 
一旦超过平均负载就需要引起警惕 
1分钟的话 基本不用搭理 
一旦有高并发这个数值起伏就非常大
  • top 通过此命令也可以查询系统负载值

端口查询

  • ss 在centos7中,默认是没有安装netstat,以及被ss给取代了
常见参数
-h, --help 帮助
-V, --version  显示版本号
-t, --tcp 显示 TCP 协议的 sockets
-u, --udp 显示 UDP 协议的 sockets
-x, --unix 显示 unix domain sockets,与 -f 选项相同
-n, --numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"
-l, --listening 只显示处于监听状态的端口
-p, --processes 显示监听端口的进程(Ubuntu 上需要 sudo)
-a, --all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接
-r, --resolve 把 IP 解释为域名,把端口号解释为协议名称,跟curl --resolve一个意思


# ss -nalpt 
State      Recv-Q Send-Q                            Local Address:Port                                           Peer Address:Port              
LISTEN     0      100                                   127.0.0.1:25                                                        *:*                   users:(("master",pid=1463,fd=13))
LISTEN     0      128                                           *:22                                                        *:*                   users:(("sshd",pid=1179,fd=3))

一般来说通过nalpt参数组合已经可以满足您端口过滤的需求了

也支持TCP连接状态过滤
支持的 TCP 协议中的状态有:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listening
closing
除了上面的 TCP 状态,还可以使用下面这些状态:
all 列出所有的 TCP 状态。 
connected 列出除了 listening 和 closing 之外的所有 TCP 状态。 
synchronized 列出除了 syn-sent 之外的所有 TCP 状态。 
bucket 列出 maintained 的状态,如:time-wait 和 syn-recv。 
big 列出和 bucket 相反的状态。 
具体用法参考: man ss

 


  • dmesg 查看系统开机信息(了解系统开机相关信息,说不定后面有大用处),使用的时候记得加more / less等操作,因为此命令内容过长 
  • uname -a 可以查看写系统相关信息(系统核心名称,系统版本,内核版本,cpu架构,硬件平台等等)
# uname -a
Linux test 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

 

未完待续。。。。。。。。。。。。。。。。。。。。。。。。。

你可能感兴趣的:(Linux)