Swap 分区的使用
swap 分区是磁盘上的一个文件,作用就是,当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中。
查看系统中已经配置的swap
修改swappiness
swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60,具体如下:
1
2
| cat /proc/sys/vm/swappiness
#60
|
也就是说,你的内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。大家知道,内存的速度会比磁盘快很多,这样子会加大系统IO,同时造的成大量页的换进换出,严重影响系统的性能。所以对该参数进行调整。
要想永久调整的话,需要在/etc/sysctl.conf修改:
1
| sudo vim /etc/sysctl.conf
|
修改vm.swappiness 参数(0~20之间,鉴于你机器物理内存的大小)
1
2
| # Controls the maximum number of shared memory segments, in pages
vm.swappiness = 20
|
运行命令生效
这样便完成修改设置!
Systemctl 的使用
service服务就是在系统中运行的软件,这个软件主要是对外提供某项功能,把这一类软件叫做服务。例如数据库mysqld,tomcat,nginx服务。
目前常用的服务管理是systemctl命令(用于取代systemv\service\chkconfig命令)
常用管理命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # 开机启动
systemctl enable mysqld
# 关闭开机启动
systemctl disable mysqld
# 启动服务
systemctl start mysqld
# 停止服务
systemctl stop mysqld
# 重启服务
systemctl restart mysqld
# 查看服务状态
systemctl status mysqld
systemctl is-active sshd.service
# 结束服务进程(服务无法停止时)
systemctl kill mysqld
|
修改配置文件后刷新服务
1
2
3
4
5
| # 重新加载配置文件
sudo systemctl daemon-reload
# 重启相关服务
sudo systemctl restart foobar
|
查看进程 PS 与 TOP 命令使用
PS 命令查看进程(静态的)
1
2
3
4
5
6
7
8
9
10
11
12
| ps ##进程查看工具
-a ##列出所有进程
-x ##与shell无关运行的进程(与shell无关的进程)
-u ##查看进程用户
-l ##显示进程的详细信息
-f ##完全信息full的缩写(从属关系)
-o ##控制输出,指定信息
-e ##显示系统中的所有进程和a相同(附加的拓展信息)
-aux ##显示所有包含其他使用者的行程
ps -aux | grep ##进程关键字(进行过滤)
ps -aux | less ##ps命令结果较长,可结合less命令
ps -aux --sort +或-%cpu或%mem... ##进程按指定方式排序,--sort排序,+降序,-升序
|
常用命令
1
2
3
4
5
6
| #查看所有用户进程
ps -aux
#查看所有java进程
ps -aux |grep java
#按内存排序查看所有进程
ps -aux --sort -%mem
|
TOP命令查看进程(动态的)
1
2
3
4
5
6
7
8
| #按cpu排序查看所有进程,
top
# 按小写m查看总体内存情况
m
# 按大写M将进程按照内存使用排序
M
# 按大写P将进程按照内存使用排序
P
|