暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux上shmmax参数的设置及含义

原创 eygle 2005-11-17
819
shmmax内核参数定义单个共享内存段的最大值,如果该参数设置小于Oracle SGA设置,那么SGA就会被分配多个共享内存段。这在繁忙的系统中可能成为性能负担,带来系统问题。



Linux上该参数的缺省值通常为32M。


[root@neirong root]# more /proc/sys/kernel/shmmax
33554432


可以通过ipcs命令查看此设置下共享内存的分配,我们可以看到Oracle分配了多个共享内存段以满足SGA设置的需要:


[root@neirong root]# ipcs -sa
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 884736 oracle 640 4194304 14
0x00000000 917505 oracle 640 33554432 14
0x00000000 950274 oracle 640 33554432 14
0x00000000 983043 oracle 640 33554432 14
0x00000000 1015812 oracle 640 33554432 14
0x00000000 1048581 oracle 640 33554432 14
0x00000000 1081350 oracle 640 33554432 14
0x00000000 1114119 oracle 640 33554432 14
0x00000000 1146888 oracle 640 33554432 14
0x00000000 1179657 oracle 640 33554432 14
0x00000000 1212426 oracle 640 33554432 14
0x00000000 1245195 oracle 640 33554432 14
0x00000000 1277964 oracle 640 33554432 14
0x00000000 1310733 oracle 640 33554432 14
0x00000000 1343502 oracle 640 33554432 14
0x00000000 1376271 oracle 640 33554432 14
0x00000000 1409040 oracle 640 33554432 14
0x00000000 1441809 oracle 640 33554432 14
0x00000000 1474578 oracle 640 33554432 14
0x00000000 1507347 oracle 640 33554432 14
0x00000000 1540116 oracle 640 33554432 14
0x00000000 1572885 oracle 640 33554432 14
0x00000000 1605654 oracle 640 33554432 14
0x00000000 1638423 oracle 640 33554432 14
0x00000000 1671192 oracle 640 33554432 14
0x00000000 1703961 oracle 640 33554432 14
0x7a9c9900 1736730 oracle 640 4194304 56
------ Semaphore Arrays --------
key semid owner perms nsems
0xfcf02e10 229376 oracle 640 154
------ Message Queues --------
key msqid owner perms used-bytes messages



使用pmap我们可以看到每个共享内存段的地址空间
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论