Solaris7 交流 -- 重新配置系统核心限; 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 used to gain root access to a system. If the variable is set to a non-zero value, the stack defaults to read 上一篇:Sun Solaris 用户手册 -- 三.系统安装 下一篇:Solaris7 交流 --- 进程管理、进程控制及cron处理 更多相关文章
|
推荐文章
精彩文章
|