如何加快ubuntu16.04的启动速度和打开软件应用的速度
发表于 : 2016-10-12 9:03
目前我有两大问题:
ubuntu16.04
我的机器配置并不低,i7 cpu 16GB 内存 虽然ubuntu是装在了sda上不是固态上.但是
1 启动速度太慢了 我计算了下要1分30秒到2分之间.启动期间明显看到硬盘灯狂闪
2 进入系统后,首次打开软件应用也是十分慢 开个firefox也要30秒.但是唯一好处是,启动后的使用速度都是非常快的.就是首次打开应用太慢,同样硬盘也狂闪.
参考网上的一些做法已经做了如下优化.
sudo gedit /etc/sysctl.conf
#当值为0时最大限度的使用物理内存,物理内存使用完后再使用swap内存。为100时,最大限度的使用swap.默认的参数是60,根据这里将其改为10较优
vm.swappiness=10
===================================================================
1.打开/etc/security/limits.conf,里面有很详细的注释,找到如下设置(如果没有就插入)
#最大文件打开数限制
* soft nofile 51200
* hard nofile 51200
#最大进程打开数限制
* soft noproc 11000
* hard noproc 11000
2.编辑/etc/pam.d/common-session,加入一行
session required pam_limits.so
3.编辑/etc/profile,加入
ulimit -SHn 51200 -S 软限制 -H硬限制 -n 可打开最大文件数
重启服务器,再次登陆,查看句柄数,已经正确设置为51200。
================================================================
实际只需第三步16.04就生效的,我最后只是改了软限制 ulimit -Sn 32768
编辑/etc/profile,加入ulimit -Sn 32768
调整最大文件打开数soft限制 32768后
cmd@TR:~$ ulimit -n
32768
cmd@TR:~$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63711
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 32768
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 63711
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
cmd@TR:~$ ulimit -Ha
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63711
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 63711
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
剩下的是一些检查ulimit限制
cmd@TR:~$ cat /proc/sys/kernel/pid_max
32768
cmd@TR:~$ ulimit -s
8192
cmd@TR:~$ cat /proc/sys/fs/file-max
1627130
cmd@TR:~$ cat /proc/sys/fs/nr_open
1048576
cmd@TR:~$ ulimit -Hn
65536
cmd@TR:~$ ulimit -n
32768
===========================================
http://www.jianshu.com/p/11491ee15344
cmd@TR:~$ systemd-analyze blame
16.961s teamviewerd.sysv.service
16.841s docker.service
8.795s NetworkManager-wait-online.service
6.771s dev-sda3.device
6.469s ModemManager.service
6.045s grub-common.service
4.697s irqbalance.service
4.447s networking.service
4.206s NetworkManager.service
3.953s sysfsutils.service
3.929s accounts-daemon.service
3.785s apport.service
3.482s systemd-logind.service
3.399s cgroupfs-mount.service
3.399s iio-sensor-proxy.service
3.398s gpu-manager.service
3.398s vboxdrv.service
3.394s lm-sensors.service
3.390s rsyslog.service
3.267s lightdm.service
3.231s bluetooth.service
3.222s thermald.service
3.187s snapd.firstboot.service
3.021s apparmor.service
2.387s wpa_supplicant.service
2.370s systemd-tmpfiles-setup.service
2.166s media-DataE.mount
1.964s media-DataD.mount
1.850s systemd-udevd.service
1.780s systemd-fsck@dev-disk-by\x2duuid-f25c448f\x2d3c9e\x2d4723\x2db1b4\x2d00b9d91ece04.service
1.629s polkitd.service
1.585s systemd-rfkill.service
1.488s systemd-tmpfiles-setup-dev.service
1.387s keyboard-setup.service
1.170s binfmt-support.service
然后用rcconf 关掉了头两个的自启动
===========================================================
多核启动
默认情况下,即便你的电脑是双核甚至多核的CPU,LinuxMint/Ubuntu启动时仍旧是以单核在执行系统启动任务。可以通过如下修改,使其充分利用多核CPU进行系统启动,从而加快速度。
以管理员身份编辑:
sudo gedit /etc/init.d/rc
找到CONCURRENCY=none行,并修改为CONCURRENCY=makefile
下边是从/etc/init.d/rc 粘贴出来的 检查了insserv是安装了的
#
# Check if we are able to use make like booting. It require the
# insserv package to be enabled. Boot concurrency also requires
# startpar to be installed.
#
#CONCURRENCY=makefile
# disable startpar, incompatible with "task" upstart jobs
cmd@TR:~$ sudo apt-get install insserv
[sudo] cmd 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
insserv 已经是最新版 (1.14.0-5ubuntu3)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。
cmd@TR:~$ sudo apt-get install startpar
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 startpar,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 startpar 没有可安装候选
但这个startpar 是这样
有谁了解16.04的 这块 多核启动要如何配置?
谁还有加速应用启动速度的方法?
ubuntu16.04
我的机器配置并不低,i7 cpu 16GB 内存 虽然ubuntu是装在了sda上不是固态上.但是
1 启动速度太慢了 我计算了下要1分30秒到2分之间.启动期间明显看到硬盘灯狂闪
2 进入系统后,首次打开软件应用也是十分慢 开个firefox也要30秒.但是唯一好处是,启动后的使用速度都是非常快的.就是首次打开应用太慢,同样硬盘也狂闪.
参考网上的一些做法已经做了如下优化.
sudo gedit /etc/sysctl.conf
#当值为0时最大限度的使用物理内存,物理内存使用完后再使用swap内存。为100时,最大限度的使用swap.默认的参数是60,根据这里将其改为10较优
vm.swappiness=10
===================================================================
1.打开/etc/security/limits.conf,里面有很详细的注释,找到如下设置(如果没有就插入)
#最大文件打开数限制
* soft nofile 51200
* hard nofile 51200
#最大进程打开数限制
* soft noproc 11000
* hard noproc 11000
2.编辑/etc/pam.d/common-session,加入一行
session required pam_limits.so
3.编辑/etc/profile,加入
ulimit -SHn 51200 -S 软限制 -H硬限制 -n 可打开最大文件数
重启服务器,再次登陆,查看句柄数,已经正确设置为51200。
================================================================
实际只需第三步16.04就生效的,我最后只是改了软限制 ulimit -Sn 32768
编辑/etc/profile,加入ulimit -Sn 32768
调整最大文件打开数soft限制 32768后
cmd@TR:~$ ulimit -n
32768
cmd@TR:~$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63711
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 32768
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 63711
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
cmd@TR:~$ ulimit -Ha
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63711
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 63711
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
剩下的是一些检查ulimit限制
cmd@TR:~$ cat /proc/sys/kernel/pid_max
32768
cmd@TR:~$ ulimit -s
8192
cmd@TR:~$ cat /proc/sys/fs/file-max
1627130
cmd@TR:~$ cat /proc/sys/fs/nr_open
1048576
cmd@TR:~$ ulimit -Hn
65536
cmd@TR:~$ ulimit -n
32768
===========================================
http://www.jianshu.com/p/11491ee15344
cmd@TR:~$ systemd-analyze blame
16.961s teamviewerd.sysv.service
16.841s docker.service
8.795s NetworkManager-wait-online.service
6.771s dev-sda3.device
6.469s ModemManager.service
6.045s grub-common.service
4.697s irqbalance.service
4.447s networking.service
4.206s NetworkManager.service
3.953s sysfsutils.service
3.929s accounts-daemon.service
3.785s apport.service
3.482s systemd-logind.service
3.399s cgroupfs-mount.service
3.399s iio-sensor-proxy.service
3.398s gpu-manager.service
3.398s vboxdrv.service
3.394s lm-sensors.service
3.390s rsyslog.service
3.267s lightdm.service
3.231s bluetooth.service
3.222s thermald.service
3.187s snapd.firstboot.service
3.021s apparmor.service
2.387s wpa_supplicant.service
2.370s systemd-tmpfiles-setup.service
2.166s media-DataE.mount
1.964s media-DataD.mount
1.850s systemd-udevd.service
1.780s systemd-fsck@dev-disk-by\x2duuid-f25c448f\x2d3c9e\x2d4723\x2db1b4\x2d00b9d91ece04.service
1.629s polkitd.service
1.585s systemd-rfkill.service
1.488s systemd-tmpfiles-setup-dev.service
1.387s keyboard-setup.service
1.170s binfmt-support.service
然后用rcconf 关掉了头两个的自启动
===========================================================
多核启动
默认情况下,即便你的电脑是双核甚至多核的CPU,LinuxMint/Ubuntu启动时仍旧是以单核在执行系统启动任务。可以通过如下修改,使其充分利用多核CPU进行系统启动,从而加快速度。
以管理员身份编辑:
sudo gedit /etc/init.d/rc
找到CONCURRENCY=none行,并修改为CONCURRENCY=makefile
下边是从/etc/init.d/rc 粘贴出来的 检查了insserv是安装了的
#
# Check if we are able to use make like booting. It require the
# insserv package to be enabled. Boot concurrency also requires
# startpar to be installed.
#
#CONCURRENCY=makefile
# disable startpar, incompatible with "task" upstart jobs
cmd@TR:~$ sudo apt-get install insserv
[sudo] cmd 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
insserv 已经是最新版 (1.14.0-5ubuntu3)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。
cmd@TR:~$ sudo apt-get install startpar
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 startpar,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 startpar 没有可安装候选
但这个startpar 是这样
有谁了解16.04的 这块 多核启动要如何配置?
谁还有加速应用启动速度的方法?