Linux

一个小技巧提速你的UBUNTU

我们知道,Windows下有一个叫做虚拟内存的文件,用以弥补物理内存之不足。Linux下则是一个swap分区,叫做交换分区,其功能相当于Windows下的虚拟内存,但是效率更高。

显然,虚拟内存是从硬盘上划分一部分空间作为内存,其速度必然比物理内存慢。或许很多朋友都认为Linux系统一定是优先使用物理内存,物理内存不够时,再启用swap。实则不然,尽管物理内存仍然充裕,Linux也不时地使用虚拟内存。这个设计对于服务器而言是非常有用的,但对于Linux桌面用户而言,却使得物理内存未被充分利用,是导致系统速度变慢的原因之一。…

多快好省:10个技巧加速你的LinuxMint/Ubuntu

之前写过一篇关于使用Prelink加速LinuxMint/Ubuntu软件启动速度的文章–《未雨绸缪:如何加快Linux软件启动速度》

近日,在国外Linuxer的博客上看到一篇关于加速LinuxMint/Ubuntu的文章,觉得挺有帮助的,特加以整理,并经过实操检验,分享予大家。不过,大家在修改自己的系统配置文件前,最好先做好备份。

1.使用Preload预加载
Prelink类似,Preload是一个运行于后台的监护程序,探测那些常用的软件,并将其放入缓存,以起到加速的作用。在LinuxMint/Ubuntu下安装Preload很简单:
sudo apt-get install preload
Preload默认的配置对于普通用户而言已经不错了,一般不需要修改。如果有进一步掌控其的欲望,可以打开其配置文件进行修改:
sudo gedit /etc/preload.conf

2.清理APT缓存
apt应该算是LinuxMint/Ubuntu系统中使用率最高的命令了,无论安装、卸载软件,还是更新软件源缓存及相关维护,都离不开它。使用逾久,apt缓存也就变得较为臃肿,有必要清理:
sudo apt-get autoclean

3.禁用不必要的启动项
在“启动应用程序”中,根据自身实际,取消不必要的启动项,如欢迎程序、检测新硬件、蓝牙(如果本机没有蓝牙)、桌面共享等。

4.调整交换分区参数
详见《一个小技巧提速你的LinuxMint》

5.禁用休眠/挂起功能(务必慎重)
如果你不需要电脑的休眠/挂起功能,可以手动禁用它(笔记本电脑最好不要禁用休眠/挂起功能)。以管理员身份编辑配置文件:
sudo gedit /etc/initramfs-tools/conf.d/resume
将RESUME=UUID=****这行注释掉(行首加#):

6.修改grub2等待时间
无论你的电脑是否有2个或更多的操作系统,只要安装了LinuxMint/Ubuntu,就必然会安装grub2作为引导管理器。grub2启动时,会在默认的启动项上停留数秒(默认10秒),等待用户选择。我们可以把这个时间改的更短。如果是LinuxMint/Ubuntu单系统,可以直接改为0,即直接进入,无需等待。
以管理员身份编辑grub配置文件,修改GRUB_TIMEOUT项后的数字。
sudo gedit /etc/default/grub

7.使用ZRAM提高内存性能
如果你的电脑内存不太充裕(1G以下),可以使用ZRAM软件来提高内存性能。ZRAM能在系统中创建一个压缩的块设备,用于模拟一个交换分区,减少因内存不足而多硬盘的蹂躏频次。可以使用如下PPA安装ZRAM:

网卡中断设置

密集网络IO的服务器,需要设置网卡中断来解决性能瓶颈。通过使用top观察每个核的si是否很高。如果处理网络中断的CPU达到瓶颈,将会影响网卡收发包,严重的情况下会出现大量丢包。通过下面的脚本,可以将软中断平均到CPU的每个核上,解决网卡中断瓶颈问题。

ffffff 这里是根据CPU核数进行计算的

#!/bin/bash
# Enable RPS (Receive Packet Steering)

rfc=4096
cc=$(grep -c processor /proc/cpuinfo)
rsfe=$(echo $cc*$rfc | bc)
sysctl -w net.core.rps_sock_flow_entries=$rsfe
for fileRps in $(ls /sys/class/net/eth*/queues/rx-*/rps_cpus)
do
    echo ffffff > $fileRps
done

for fileRfc in 

Linux下高cpu解决方案(转载)

昨天搞定了一个十万火急的issue,客户抱怨产品升级后系统会变慢和CPU使用率相当高,客户脾气很大,声称不尽快解决这个问题就退货,弄得我们 R&D压力很大,解决这个issue的任务分给了我,客户是南非的一个公司,由于时差问题,我只好在家远程解决问题,晚上8点半用 gotomeeting远程到客户电脑查看我们的系统,折腾了四个多小时,终于在凌晨时reproduce了这个high CPU,赶紧抓Log,用wireshark抓包,用gcore,gstack,strace和top保存了系统的相关输出。在第2天分析了这些文件后, 找到了产品的bug,代码的作者分配了10K的缓冲区,并想当然认为10K足以够用,当然99%的情况下是够用的,但是在这1%的情况下出现了问题,缓冲 区不幸被写满了,然后程序进入了死循环,导致high CPU。找到了问题了,fix就很容易了,客户的脾气也缓和了,fix很快就可以deliver给客户。反思解决问题的过程,觉得这个分析过程具有可复用 性,值得总结一下。…

解决 Linux error while loading shared libraries: cannot open shared object file: No such file or directory

安装最新版本Emqtt,参照官方文档安装后,执行报错:

Linux error while loading shared libraries libsctp.so.1: cannot open shared object file: No such file or directory

 

从互联网上找到了一些文章, 解决了我的问题,这里整理贴一下,类似的问题应该都可以参照解决。…

Page 1 of 1212345...10...Last »