当前位置:操作系统 > Unix/Linux >>

Solaris7重新配置系统核心

Sun Microsystems公司于前不久发布了它的新一代的旗帜性软件产品线:适用于SPARC和Intel两种计算机的新的Solaris 7 软件环境。Solaris 7产品系列包括基本的 Solaris 7操作环境和3个模块化软件扩展版本(Solaris Easy Access Server,Solaris Enterprise Server,Solaris ISP Server)--每个扩展版本都在基本的Solaris 7操作环境上运行。新的产品线主要具有以下特点:

  1. 处理数据的能力大为增加,不仅数据量没有什么限制,计算的复杂性也有突破,为新一级的应用软件敞开了大门。

  2.大型机的能力,而价格只有大型机的几分之一。

  3.具有对PC机的完全互操作性,可使客户连接和管理他们的Windows NT环境与Solaris环境一样。

  4.具有PC机简易管理的新风格,大大简化了安装与管理。

  不仅如此,该版本的Solaris还具有强大的软件支持,其中包括了Sun Visual WorkShop C++ 5.0软件和Sun Performance WorkShop Fortran 5.0软件,并为C/C++和 Fortran的开发商开发企业级应用软件提供了具有竞争性的优势。Solaris 7具有全新中文版本,中文版本不仅具有多种中文输入方式、灵活地支持中文的输出,同时方便地接收中文邮件和进行字体转换弥补了过去Solaris在这方面的不足。Solaris 7与 Windows无缝连接,从而使用户可以进行简单明了的操作和管理。在Solaris 7中,Sun公司着重考虑了健壮和安全的问题,提供了一系列的现代化的安全机制,同时修补了安全漏洞和系统BUG,使Solaris 7具有相当可靠的安全性和健壮性,将用户的风险降到了最低的限度。

  综上所述,Solaris 7是适用于企业网的操作系统。

  一、相关站点

  1.Solaris软件免费下载站点:

  http://www.sunfreeware.com/

  2.solaris 咨询站

  http://www.ibiblio.org/pub/packages/solaris/sparc/

  3.solaris中文手册:

  http://docs.sun.com/ab2?Ab2Lang=zh&Ab2Enc=gb2312

  4.UNIX depot

  http://www.cise.ufl.edu/depot/

  5.solaris中心

  http://www.solariscentral.org/

  二、重新配置系统核心

  举例: Oracle 8 for solaris 2.6 安装的安装需要增加Shared Memory Segments;修改/etc/system文件,在文件后加上

  set shmsys:shminfo_shmmax=4294967295

  set shmsys:shminfo_shmmin=1

  set shmsys:shminfo_shmmni=100

  set shmsys:shminfo_shmseg=15

  set semsys:seminfo_semmns=200

  set semsys:seminfo_semmni=70

  set ulimit=3000000

  比如innd用的文件数目比较多,需要设置:

  set rlim_fd_max=4096

  set rlim_fd_cur=1024

  如何看系统默认值;

  先看系统默认值,超级用户可以用-k参数来看核心的各个参数,如果指定-w参数,则可以

  adb - general-purpose debugger

  可以看现在的值是什么?

  /usr/bin/adb ?kw

  physmem 1f8d9

  maxusers/D

  maxusers:

  maxusers: 504

  maxusers/W 200

  maxusers: 0x1f8 = 0x200

  (1)IO相关的设置

  最经常需要改变的是文件描述符数因为SOCKET API处理INTERNET连接使用文件描述符,

  set rlim_fd_max = 8192

  set rlim_fd_cur = 4096

  Please, before you start, make a backup copy of your initial /etc/system.

  The backup should be located on your root filesystem. Thus, if some

  parameters fail, you can always supply the alternative, original system

  file on the boot prompt. The following shows two typically entered

  parameters:

  * these are the defaults of Solaris < 8

  set rlim_fd_max=1024

  set rlim_fd_cur=64

  rlim_fd_cur

  这个参数定义了一个进程可以打开文件描述符的“软”限制,该数目由当前运行的SHELL 决定;ulimit ?Sn,还可以通过setrlimit()函数来修改这个参数;不需要超级用户权

  限;

  The predicate rlim_fd_cur <= rlim_fd_max must be fulfilled.

  rlim_fd_max

  default 1024, recommended >=4096

  这个参数决定了一个进程可以打开文件描述符的“硬”限制;如果想改变该限制,必须有超级用户的权限;

  对于大多数SERVER,不管使用TCP还是UDP进行通讯,最大描述符数是每个用户进程的最重要的参数;文件描述符决定了同时可以连接的数目;

  ulimit -Hn

  You should consider a value of at least 2 * tcp_conn_req_max and you

  should provide at least 2 * rlim_fd_cur. The predicate rlim_fd_cur <=

  rlim_fd_max must be fulfilled.

  (2)进程相关的设置

  maxusers

  default 249 ~= Megs RAM (Ultra-2/2 CPUs/256 MB), min 8, max 2048, no

  recommendations

  最大用户定义系统可以支持的最大用户数,当核心生成的过程中,有一些表的大小就是由这个参数决定的。这个值的大小在当前SOALRIS版本中决定于内存的兆数目;有一些参数是由MAXUSER来决定的,

  _ The maximum number of processes on the system

  _ The number of quota structures held in the system

  _ The size of the directory name lookup cache(DNLC)

  默认值是系统内存兆数,小于2048;

  如果大于1024,必须在/etc/system中指定,如果大于4096,它的值为4096;当系统出现用户进程生成(FORK)缓慢时,系统报信息;

  out of processes

  默认值比较大有以下情况:

  数据库系统使用较大内存,但相对少的进程,减少MAXUSERS的值,可以节省系统内存;

  PIDMAX

  这个参数指定系统最大可能进程ID; 默认值为30000,范围为266到999999;只在启动

  时候进行设置;

  max_nprocs

  系统最大进程数,包含系统进程和用户进程;默认值为为10+(16*MAXUSERS)

  该值范围为266到MAXPID;

  基于Intel i386体系结构的Linux操作系统中,已经提供了这样的多进程运行的支持。

  通过合理的选择进程调度算法,可以获得比较好的平均相应时间和较高的系统性能。但是,美中不足的是,在目前的2.2.x版本的Linux内核中,存在对最大进程数的限制。也就是说,在目前的Linux系统中,最多只能有4090个用户进程同时存在。对于一般的桌面应用,这个数目是绰绰有余。但是,对于企业级的服务器应用来说,则是不够的。

  设想一个典型的Web服务器软件,它们一般都采用多进程/线程的结构。每当接到一个连接请求,就产生一个子进程/线程来处理。显然,对于一个重负载的服务器来说,同时有

  成千上万个连接是很常见的。而这时,采用kernel 2.2.x的系统就不能胜任了。因此,可以说正是因为存在这个最大进程数的限制,使得Linux不能胜任企业级服务器操作系统的工作。事实上,目前这个级别的操作系统一般都是较为成熟,并且没有上述限制的Solaris、AIX、HP-UX等系统。

  maxuprc

  一个用户可以生成的最大用户进程数;

  默认值为MAX_NPROCS-RESERVED_PROCS

  STREAM

  nstrpush

  默认值为9,这个参数定义了允许有多少个STREAM 模块加载在系统核心中,我猜想这个参数是指相对于一个用户或一个进程,通常不用修改该参数;

  strmsgsz

  默认值为 65536, 单个系统调用可以传给一个STREAM设备信息的数据部分的最大字节数

  ;任何write(2)超过这个大小限制会被分为多个信息;

  范围为:0到262144 bytes

  当出现putmsg(2)系统调用返回ERANGE时,需要修改该参数;

  strctlsz

  默认值为 65536, 单个系统调用可以传给一个STREAM设备信息的控制部分的最大字节数;范围:0-MAXINT BYTES;

  General Kernel Variables

  noexec_user_stack

  Warning: This option might crash some of your application software, and

  endanger your system's stability!

  By default, the Solaris 32 bit application stack memory areas are set

  with permissions to read, write and execute, as specified in the SPARC

  and Intel ABI. Though many hacks prefer to modify the program counter

  saved during a subroutine call, a program snippet in the stack area can

  be us

  

上一个:安装Solaris後的设定
下一个:Solaris7进程管理及cron处理

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,