Linux系统优化的12个步骤:
1、登录系统。
2、禁止SSH远程。
3、时间同步。
4、配置yum更新源。
5、关闭selinux及iptables。
6、调整文件描述符数量。
7、定时自动清理/var/spool/clientmquene/目录垃圾文件。
8、精简开机启动服务。
9、Linux内核参数优化/etc/sysctl.conf,执行sysct -p生效。
10、更改字符集,防止乱码问题出现。
11、锁定关键系统文件。
12、清空/etc/issue,去除系统及内核版本登陆前的屏幕显示。
Linux系统的主要特性:
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、 *** 作系统、进程等等对于 *** 作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
完全免费
Linux是一款免费的 *** 作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的 *** 作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行 *** 作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行 *** 作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式 *** 作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
笔者从生产系统上和网络资料上总结出几种优化脚本,脚本从磁盘和内存方面入手,让Linux系统保持活力。特别是第三种清理缓存释放内存,可以结合笔者以前的文章-Linux健康检查脚本health-check-script来做进一步的包装,特别是在做大量数据备份之后,完成自动检测和清理工作。
下面的delete_data函数中的三条命令可以完成目录下所有文件、log文件和log.gz文件按过期时间清理。
delete_data()
{
delete_time=$1
#清理目录下所有过期文件
find /home/pi/log/ -mtime +$delete_time -exec rm -r {} \
#清理目录下.log过期文件
find /home/pi/log/ -mtime +$delete_time -name '*.log' -exec rm -r {} \
#清理目录下.log.gz过期文件
find /home/pi/log/ -mtime +$delete_time -name '*.log.gz' -exec rm -r {} \
}
2.1目录下文件单独压缩打包
#将/home/pi/log/目录下的.log文件打包成.gz文件,
find /home/pi/log/ -name '*.log' -exec gzip -f {} \
运行测试,默认gzip 会删除源文件,并生成xx.gz文件。
zcat filename.gz 可以直接查看文件内容。gunzip –c filename.gz 可以解压缩并保留源文件,但是解压后显示在标准输出上,没有解压后文件。gunzip -cv filename.gz >filename ,可以保留源文件和压缩后文件,-v是显示进度。压缩保留源文件是 gzip -cv filename > filename.gz 。
2.2目录下文件以前一起打包压缩
gzip无法压缩文件夹,仅用于压缩单个文件,要压缩文件夹,应该使用tar + gzip ,即是tar -z。
#将log目录下的文件打包并以时间命令,打包后以 gzip 压缩
tar -zcvf $(date +%Y%m%d%H%M%S)log.tar.gz log/
tar -ztvf log.tar.gz可以查看包内有哪些文件。
tar -zxvf 20210219143137log.tar.gz 解压缩到当前目录
tar -zxvf 20210219143137log.tar.gz -C log2/ 将包解压到log2目录下。
频繁的文件访问(特别是数据备份后)会导致系统的Cache使用量大增。sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。
这里我们来看一下 buff/cache的作用。
buffer指Linux内存的 缓冲区缓存 Buffer cache,cache指Linux内存中的 页面缓存 Page cache。
Cache(Page cache,页面缓存): 主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有read/write *** 作的时候。
Buffer(Buffer cache,缓冲区缓存): 主要是针对块设备进行缓存的,比如当我们对一个文件进行写 *** 作的时候,page cache的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。这样,内核在后续执行脏数据的回写(writeback)时,就不用将整个page写回,而只需要写回修改的部分即可。
Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。怎么手动清除呢?修改/proc/sys/vm/drop_caches 的值。看看英语说明:
to free pagecache, use echo 1 >/proc/sys/vm/drop_caches
to free dentries and inodes, use echo 2 >/proc/sys/vm/drop_caches
to free pagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.
即3可以释放所有类型的缓存。
同时为了防止数据丢失,命令sync 将脏页的内容写回硬盘,但可能伴随着系统磁盘IO飙高。
运行free -m命令,再运行下面的脚本中的命令,发现 buff/cache减少了21M。
Linux *** 作系统的基础知识并不是很难理解,熟悉掌握基础知识能更好的学习Linux。下面由我为大家整理了Linux *** 作系统的知识点总结的相关知识,希望对大家有帮助!
Linux *** 作系统的知识点总结1. *** 作系统总体介绍
•CPU: 就像人的大脑,主要负责相关事情的判断以及实际处理的机制。
查询指令: cat /proc/cpuinfo
•内存: 大脑中的记忆区块,将皮肤、眼睛等所收集到的信息记录起来的地方,以供CPU进行判断。查询指令: cat /proc/meminfo
物理内存
物理内存,就是我们将内存条插在主板内存槽上的内存条的容量的大小。看计算机配置的时候,主要看的就是这个物理内存
虚拟内存
Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。
关系:windows中虚拟内存和物理内存可能都会被使用,Linux中,只有物理内存使用完了,才会使用虚拟内存
•硬盘: 大脑中的记忆区块,将重要的数据记录起来,以便未来再次使用这些数据。
查询指令: fdisk -l (需要root权限)
Linux *** 作系统的知识点总结2.内存和硬盘的关系
具体命令后面会介绍
Linux *** 作系统的知识点总结3. *** 作系统监控命令>单独写一份
•vmstat
•sar
•iostat
•top
•free
•uptime
•netstat
•ps
•strace
•lsof
Linux *** 作系统的知识点总结4.如何分析 *** 作系统
实际流程: 读数据》数据>硬盘》虚拟内存(swaP)》内存》cpu缓存》执行队列
分析方向,正好相反
Linux *** 作系统的知识点总结4.各个部分常出现的漏洞
•CPU: 容易出现该类瓶颈的邮件服务器、动态web服务器
•内存: 容易出现该类瓶颈的打印服务器、数据库服务器、静态web服务器
•磁盘I/O: 频繁读写 *** 作的项目
•网络带宽: 频繁大量上传下载项目
Linux *** 作系统的知识点总结5.linux本身的一些优化
1. 系统安装优化
当安装linux系统时,磁盘划分、 SWAP内存的分配都直接影响系统性能。对于虚拟内存SWAP的设定,现在已经没有了所谓虚拟内存是物理内存两倍的要求,但是根据经验,如果内存较小(物理内存小于4GB),一般设置SWAP交换分区大小为内存的2倍如果物理内存大约4GB小于16GB,可以设置SWAP大小等于或者略小于物理内存即可如果内存在16GB以上,原则上可以设置SWAP为0,但最好设置一定大小的SWAP
• 2. 内核参数优化
例如,如果系统部署的Oracle数据库应用,那么就需要对系统共享内存段( kernel.shmmax, kenerl.shmmni, kernel.shmall)、
系统信号量( kernel.sem)、文件句柄( fs.file0max)等参数进行优化设置如果部署的WEB应用,那么就需要根据web应用特性进行网络参数的优化,例如修改net.ipv4.ip_local_port_range、net.ipv4.tc_tw_reuse、 net.core.somaxconn等网络
内核参数
• 3. 文件系统优化
在linux下可选的文件系统有ext2,、 ext3、 xfs、 ReiserFS
linux标准文件系统是从VFS开始,然后ext、 ext2, ext2是linux上的标准文件系统, ext3是在ext2基础上增加日志形成的。从VFS到ext3,设计思想没有太大变化,都是早期UNIX家族基于超级块和inode的设计理念设计而成。XFS文件系统是SGI开发的一个高级日志文件系统,通过分布处理磁盘请求、定位数据、保持cache的一致性来提供对文件系统数据的低延迟、高带宽的访问,因此XFS极具伸缩性,非常健壮,具有优秀的日志记录功能、可扩展性强、快速写入等优点。ReiserFS在Hans Reiser领导下开发出来的一款高性能的日志文件系统,通过完全平衡树来管理数据,包括文件数据、文件名及日志支持等。与ext2、 ext3相比,最大的优点是访问性能和安全性大幅提升。具有高效、合理利用磁盘空间,先将的日志管理机制,特意的搜寻方式,海量磁盘存储等优点
Linux *** 作系统的知识点总结5.重点知识
物理内存和虚拟内存
1.如何查看物理内存和虚拟内存?
Top 命令可以查看物理内存和虚拟内存的数值
2.Buffer
是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传输速度不同,缓存在其中起到一个缓冲的作用。缓存的大小与速度是直接关系到硬盘的传输速度的重要因素,能够大幅度地提高硬盘整体性能。
3.Cache
CPU缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。缓存的出现主要是为了解决CPU运算速度与内存读写速度不匹配的矛盾,因为CPU运算速度要比内存读写速度快很多,这样会使CPU花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度
4.CPU中断
当CPU执行完一条现行指令时,如果外设向CPU发出中断请求,那么CPU在满足响应的情况下,将发出中断响应信号,与此同时关闭中断,表示CPU不在受理另外一个设备的中断。这时,CPU将寻找中断请求源是哪一个设备,并保存CPU自己的程序计数器(PC)的内容。然后,他将转移到处理该中断源的中断服务程序。CPU在保存现场信息,设备服务(如交换数据)以后,将恢复现场信息。在这些动作完成以后,开放中断,并返回到原来被中断的主程序的下一条指令。
5.上下文切换
上下文切换(Context Switch) 或者环境切换
多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件。
在 *** 作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪(或者挂起、删除)状态,另一个被选定的就绪任务成为当前任务。上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境。
进程上下文用进程的PCB(进程控制块,也称为PCB,即任务控制块)表示,它包括进程状态,CPU寄存器的值等。
通常通过执行一个状态保存来保存CPU当前状态,然后执行一个状态恢复重新开始运行。
上下文切换会对性能造成负面影响。然而,一些上下文切换相对其他切换而言更加昂贵其中一个更昂贵的上下文切换是跨核上下文切换(Cross-Core Context Switch)。一个线程可以运行在一个专用处理器上,也可以跨处理器。由单个处理器服务的线程都有处理器关联(Processor Affinity),这样会更加有效。在另一个处理器内核抢占和调度线程会引起缓存丢失,作为缓存丢失和过度上下文切换的结果要访问本地内存。总之,这称为“跨核上下文切换”。
6.进程和线程
进程概念
进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。
线程概念
线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。如果把进程理解为在逻辑上 *** 作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一
进程和线程的关系
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。 (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)