|
一般来说,对于个人用户,操作系统是不需要进行优化就可以满足个人的使用。但是有时候,在商用环境中,特别是用户访问量的数据库访问应用中,操作系统的默认设置,很有可能称为商业应用的瓶颈,这个时候,就需要优化它了。通过系统优化,可以修改操作系统支持的共享内存大小限制,消息队列大小,信号量以及文件句柄等参数。 Kernel tuning(优化内核): 1,代开/etc/sysctl.conf文件,查看相关的数值: kernel.core_uses_pid = 1 kernel.shmmax=4294967295 (最大共享内存) kernel.shmmni = 2048 (最小共享内存) kernel.shmall = 2097152 kernel.sem = 250 32000 100 128 fs.file-max = 32768 (最大文件数) net.ipv4.ip_local_port_range = 1024 65000 (IPV4端口范围) net.core.rmem_default=262144 2,修改相应的数值,保存文件 3,使之生效: # sysctl -p 其中,kernel.sem表示的是信号量相关的参数,具体在哪里应该我还没有查到,知道其相关的变量含义是: SEMMSL - semaphores per ID SEMMNS - (SEMMNI*SEMMSL) max semaphores in system SEMOPM - max operations per semop call SEMMNI - max semaphore identifiers
在sysctl. conf文件中,除了可以修改内核参数,还可以修改网络参数等这里就不一一列举了。
IO tuning(优化IO): 1,mount文件系统时候选择noatime参数,操作系统将不会更新文件系统中INODE的访问时间?(access time)从而可以提高文件系统的读写性能。 2,利用elvtune命令,elvtune可以控制IO调度,通过提高存放重要的、访问频繁的数据的块设备的优先访问,从而提高系统性能。例如如下命令: # elvtune -r 1024 -w 2048 /dev/sda 该命令表示控制硬盘sda的读写最大延迟,linux推荐读延迟最好是写延迟的二分之一.
Process tuning(进程优化): 进程优化的核心思想就是关闭操作系统中不必要的进程,从而节省CPU和内存的无谓耗损。在linux中,可以通过chkconfig命令检查和关闭不必要的进程 1,chkconfig --list 显示所有进程: 2,chkconfig --levels 2345 sendmail off (系统运行级别是2,3,4,5的时候,关闭mail进程) 3,# chkconfig kshell off(在所有系统运行级别下都关闭Kshell)
此外,用户如果不需要,就进入文本界面而不启动图形界面所需要的相关进程,可以最大化的节省系统资源,此时可以修改/etc/inittab文件中的“id:5:initdefault:”行,将其改为3后,系统重启将不会启动图形界面
|