[20190321]smem的显示缺陷.txt
[20190321]smem的显示缺陷.txt
1.smem 加入-m参数显示存在缺陷,map的信息不全:
# smem -tk -m -U oracle -P "oraclepeis|ora_"
Map PIDs AVGPSS PSS
/u01/app/oracle/product/10.2.0/db_1/dbs/ 15 0 0
[vdso] 308 0 0
[vsyscall] 308 0 0
/lib64/libaio.so.1.0.1 308 3.0K 1.1M
/lib64/libnsl-2.12.so 308 7.0K 2.1M
/lib64/ld-2.12.so 308 7.0K 2.1M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 7.0K 2.1M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 7.0K 2.1M
/lib64/libdl-2.12.so 308 7.0K 2.1M
/lib64/libnss_files-2.12.so 308 7.0K 2.2M
/lib64/libpthread-2.12.so 308 7.0K 2.2M
/lib64/libm-2.12.so 308 7.0K 2.3M
/lib64/libc-2.12.so 308 12.0K 3.7M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 14.0K 4.2M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 21.0K 6.5M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 21.0K 6.5M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 32.0K 9.7M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 56.0K 17.1M
[stack] 308 80.0K 24.1M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 103.0K 31.2M
/u01/app/oracle/product/10.2.0/db_1/bin/ 308 127.0K 38.3M
<anonymous> 308 242.0K 72.8M
[heap] 308 466.0K 140.5M
/dev/zero 308 561.0K 168.9M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 589.0K 177.4M
/u01/app/oracle/product/10.2.0/db_1/lib/ 308 1.4M 417.1M
/SYSV94f021f8 308 2.8M 876.1M
-----------------------------------------------------------------
27 8023 6.5M 2.0G
--//Map部分显示宽度不足.可以加宽到80.很容易修改python的脚本,我不懂python,看一下源代码就可以了.
--//修改前注意备份!!
# diff -Nur smem.ORG smem
--- smem.ORG 2019-03-21 11:18:59.117243470 +0800
+++ smem 2013-03-28 11:01:07.000000000 +0800
@@ -330,7 +330,7 @@
pt = maptotals(p)
fields = dict(
- map=('Map', lambda n: n, '%-80.80s', len,
+ map=('Map', lambda n: n, '%-40.40s', len,
'mapping name'),
count=('Count', lambda n: pt[n]['count'], '% 5s', sum,
'number of mappings found'),
# smem.ORG -tk -m -U oracle -P "oraclepeis|ora_"
Map PIDs AVGPSS PSS
/u01/app/oracle/product/10.2.0/db_1/dbs/hc_peis.dat 15 0 0
[vdso] 151 0 0
[vsyscall] 151 0 0
/lib64/libaio.so.1.0.1 151 3.0K 588.0K
/u01/app/oracle/product/10.2.0/db_1/lib/libclsra10.so 151 7.0K 1.1M
/lib64/libnsl-2.12.so 151 7.0K 1.1M
/lib64/libnss_files-2.12.so 151 7.0K 1.1M
/u01/app/oracle/product/10.2.0/db_1/lib/libskgxn2.so 151 7.0K 1.1M
/lib64/libdl-2.12.so 151 7.0K 1.1M
/lib64/ld-2.12.so 151 7.0K 1.1M
/lib64/libpthread-2.12.so 151 7.0K 1.1M
/lib64/libm-2.12.so 151 8.0K 1.2M
/lib64/libc-2.12.so 151 14.0K 2.2M
/u01/app/oracle/product/10.2.0/db_1/lib/libdbcfg10.so 151 15.0K 2.2M
/u01/app/oracle/product/10.2.0/db_1/lib/libocrb10.so 151 22.0K 3.4M
/u01/app/oracle/product/10.2.0/db_1/lib/libskgxp10.so 151 22.0K 3.4M
/u01/app/oracle/product/10.2.0/db_1/lib/libocr10.so 151 34.0K 5.0M
/u01/app/oracle/product/10.2.0/db_1/lib/libocrutl10.so 151 61.0K 9.0M
[stack] 151 97.0K 14.4M
/u01/app/oracle/product/10.2.0/db_1/lib/libhasgen10.so 151 110.0K 16.3M
/u01/app/oracle/product/10.2.0/db_1/bin/oracle 151 222.0K 32.8M
<anonymous> 151 265.0K 39.2M
[heap] 151 488.0K 72.0M
/u01/app/oracle/product/10.2.0/db_1/lib/libnnz10.so 151 640.0K 94.4M
/dev/zero 151 950.0K 140.1M
/u01/app/oracle/product/10.2.0/db_1/lib/libjox10.so 151 1.5M 221.0M
/SYSV94f021f8 151 5.8M 880.7M
---------------------------------------------------------------------------------------------------------
27 3941 10.2M 1.5G
--//PIDS表示查询的进程数量,它是将PSS平均分摊到各个用户.
--//SYSV94f021f8表示共享内存段.
# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x94f021f8 32768 oracle 640 1176502272 151
--//key=0x94f021f8,不过后面的PSS如果计算的不是很清楚感觉应该是1176502272/1024/1024 = 1122M.难道不过全部加载吗?
--//nattch表示连接使用共享内存段的进程数.正好151可以与smem显示的PIDS对上.不再生产系统折腾,换测试机器测试.
2.测试环境:
# smem -tk -m -U oracle -P "oraclebook|ora_"
Map PIDs AVGPSS PSS
/SYSV00000000 26 0 0
/SYSVe8a8ec10 26 0 0
/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/hc_book.dat 21 0 0
[vdso] 26 0 0
[vsyscall] 26 0 0
/lib64/libnss_dns-2.5.so 1 24.0K 24.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnque11.so 6 5.0K 30.0K
/lib64/libresolv-2.5.so 1 35.0K 35.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclsra11.so 26 4.0K 104.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrutl11.so 26 4.0K 104.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxn2.so 26 4.0K 104.0K
/usr/lib64/libaio.so.1.0.1 26 4.0K 104.0K
/usr/lib64/libnuma.so.1 26 4.0K 104.0K
/lib64/libdl-2.5.so 26 8.0K 208.0K
/lib64/libnsl-2.5.so 26 8.0K 208.0K
/lib64/librt-2.5.so 26 8.0K 208.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libdbcfg11.so 26 8.0K 208.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnfsodm11.so 26 8.0K 208.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxp11.so 26 8.0K 208.0K
/lib64/libnss_files-2.5.so 26 8.0K 212.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrb11.so 26 9.0K 234.0K
/lib64/libpthread-2.5.so 26 9.0K 237.0K
/lib64/ld-2.5.so 26 10.0K 260.0K
/lib64/libm-2.5.so 26 12.0K 328.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocr11.so 26 14.0K 364.0K
/lib64/libc-2.5.so 26 22.0K 581.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libcell11.so 26 69.0K 1.8M
[stack] 26 82.0K 2.1M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libhasgen11.so 26 162.0K 4.1M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnnz11.so 26 231.0K 5.9M
[heap] 26 418.0K 10.6M
/dev/zero 26 793.0K 20.1M
/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oracle 26 1.3M 35.1M
<anonymous> 26 1.6M 42.4M
---------------------------------------------------------------------------------------------------------
34 809 4.9M 126.1M
--//奇怪在共享内存段使用0.
# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 349011969 oracle 640 12582912 26
0x00000000 349044738 oracle 640 633339904 26
0xe8a8ec10 349077507 oracle 640 2097152 26
3.关闭hugepages看看.
vm.nr_hugepages = 0
vm.nr_overcommit_hugepages = 0
# grep -i page /proc/meminfo
AnonPages: 249336 kB
PageTables: 18228 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
# ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 349208577 oracle 640 12582912 22
0x00000000 349241346 oracle 640 633339904 22
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0xe8a8ec10 349274115 oracle 640 2097152 22
# smem -tk -m -U oracle -P "oraclebook|ora_"
Map PIDs AVGPSS PSS
/SYSVe8a8ec10 22 0 0
/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/hc_book.dat 20 0 0
[vdso] 22 0 0
[vsyscall] 22 0 0
/lib64/libnss_dns-2.5.so 1 24.0K 24.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnque11.so 4 6.0K 24.0K
/lib64/libresolv-2.5.so 1 35.0K 35.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclsra11.so 22 4.0K 88.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrutl11.so 22 4.0K 88.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxn2.so 22 4.0K 88.0K
/usr/lib64/libaio.so.1.0.1 22 4.0K 88.0K
/usr/lib64/libnuma.so.1 22 4.0K 88.0K
/lib64/libdl-2.5.so 22 8.0K 176.0K
/lib64/libnsl-2.5.so 22 8.0K 176.0K
/lib64/librt-2.5.so 22 8.0K 176.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libdbcfg11.so 22 8.0K 176.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnfsodm11.so 22 8.0K 176.0K
/lib64/libnss_files-2.5.so 22 8.0K 179.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrb11.so 22 9.0K 198.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxp11.so 22 9.0K 198.0K
/lib64/libpthread-2.5.so 22 9.0K 200.0K
/lib64/ld-2.5.so 22 10.0K 220.0K
/lib64/libm-2.5.so 22 12.0K 281.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocr11.so 22 14.0K 308.0K
/lib64/libc-2.5.so 22 22.0K 492.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libcell11.so 22 70.0K 1.5M
[stack] 22 73.0K 1.6M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libhasgen11.so 22 166.0K 3.6M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnnz11.so 22 232.0K 5.0M
[heap] 22 420.0K 9.0M
/dev/zero 22 572.0K 12.3M
/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oracle 22 1.6M 34.4M
<anonymous> 22 1.8M 38.6M
/SYSV00000000 22 4.0M 88.6M
---------------------------------------------------------------------------------------------------------
34 686 9.1M 198.0M
--///SYSV00000000那行PSS=88.6M.
SYS@book> select /*+ full(A) */ count(*) from sh.sales a;
COUNT(*)
----------
918843
[root@gxqyydg4 IP=100.78 /etc ] # smem -tk -m -U oracle -P "oraclebook|ora_"
Map PIDs AVGPSS PSS
/SYSVe8a8ec10 22 0 0
/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/hc_book.dat 20 0 0
[vdso] 22 0 0
[vsyscall] 22 0 0
/lib64/libnss_dns-2.5.so 1 24.0K 24.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnque11.so 4 6.0K 24.0K
/lib64/libresolv-2.5.so 1 35.0K 35.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclsra11.so 22 4.0K 88.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrutl11.so 22 4.0K 88.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxn2.so 22 4.0K 88.0K
/usr/lib64/libaio.so.1.0.1 22 4.0K 88.0K
/usr/lib64/libnuma.so.1 22 4.0K 88.0K
/lib64/libdl-2.5.so 22 8.0K 176.0K
/lib64/libnsl-2.5.so 22 8.0K 176.0K
/lib64/librt-2.5.so 22 8.0K 176.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libdbcfg11.so 22 8.0K 176.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnfsodm11.so 22 8.0K 176.0K
/lib64/libnss_files-2.5.so 22 8.0K 179.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrb11.so 22 9.0K 198.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxp11.so 22 9.0K 198.0K
/lib64/libpthread-2.5.so 22 9.0K 200.0K
/lib64/ld-2.5.so 22 10.0K 220.0K
/lib64/libm-2.5.so 22 12.0K 282.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocr11.so 22 14.0K 308.0K
/lib64/libc-2.5.so 22 22.0K 492.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libcell11.so 22 70.0K 1.5M
[stack] 22 76.0K 1.6M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libhasgen11.so 22 166.0K 3.6M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnnz11.so 22 232.0K 5.0M
[heap] 22 420.0K 9.0M
/dev/zero 22 642.0K 13.8M
/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oracle 22 1.6M 35.0M
<anonymous> 22 1.8M 38.7M
/SYSV00000000 24 6.0M 143.7M
---------------------------------------------------------------------------------------------------------
34 747 11.0M 262.4M
--///SYSV00000000那行PSS=143.7M.说明共享内存的分配可以动态变化.
4.关闭hugepages以及设置参数pre_page_sga=true:
# smem -tk -m -U oracle -P "oraclebook|ora_"
Map PIDs AVGPSS PSS
/SYSVe8a8ec10 22 0 0
/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/hc_book.dat 20 0 0
[vdso] 22 0 0
[vsyscall] 22 0 0
/lib64/libnss_dns-2.5.so 1 24.0K 24.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnque11.so 4 6.0K 24.0K
/lib64/libresolv-2.5.so 1 35.0K 35.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclsra11.so 22 4.0K 88.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrutl11.so 22 4.0K 88.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxn2.so 22 4.0K 88.0K
/usr/lib64/libaio.so.1.0.1 22 4.0K 88.0K
/usr/lib64/libnuma.so.1 22 4.0K 88.0K
/lib64/libdl-2.5.so 22 8.0K 176.0K
/lib64/libnsl-2.5.so 22 8.0K 176.0K
/lib64/librt-2.5.so 22 8.0K 176.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libdbcfg11.so 22 8.0K 176.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnfsodm11.so 22 8.0K 176.0K
/lib64/libnss_files-2.5.so 22 8.0K 179.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrb11.so 22 9.0K 198.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxp11.so 22 9.0K 198.0K
/lib64/libpthread-2.5.so 22 9.0K 200.0K
/lib64/ld-2.5.so 22 10.0K 220.0K
/lib64/libm-2.5.so 22 12.0K 281.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocr11.so 22 14.0K 308.0K
/lib64/libc-2.5.so 22 22.0K 492.0K
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libcell11.so 22 70.0K 1.5M
[stack] 22 72.0K 1.5M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libhasgen11.so 22 166.0K 3.6M
/u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnnz11.so 22 232.0K 5.0M
[heap] 22 420.0K 9.0M
/dev/zero 22 589.0K 12.7M
/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oracle 22 1.6M 34.4M
<anonymous> 22 1.8M 38.6M
/SYSV00000000 22 27.8M 611.5M
---------------------------------------------------------------------------------------------------------
34 686 32.8M 721.2M
--//设置pre_page_sga=true,表示启动数据库全部加载整个SGA到内存.
--//633339904/1024/1024 = 604M
--//其实这样后面的PSS内存总和基本表示这个实例使用的内存量.
--//看看官方的定义:
http://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams201.htm#REFRN10174
PRE_PAGE_SGA determines whether Oracle reads the entire SGA into memory at instance startup. Operating system page table
entries are then prebuilt for each page of the SGA. This setting can increase the amount of time necessary for instance
startup, but it is likely to decrease the amount of time necessary for Oracle to reach its full performance capacity
after startup.
--//我看了几台机器,使用hugepages,map对应是共享内存段的都是0,对于这些不熟悉.^_^.
[20190321]smem的显示缺陷.txt的更多相关文章
- [20171106]修改show spparameter的显示宽度.txt
[20171106]修改show spparameter的显示宽度.txt --//很多年前做的,修改show parameter的显示宽度.--//链接: [20121023]改变show para ...
- Matlab读取cifar10 train_quick.sh输出txt中信息
感谢 网友 Vagrant的提醒.之前 一直就看个最后的accuracy.这个应该并不靠谱.最好把说有的信息都看一下.而一个一个看.根本记不住.只能把数据读取在图片中显示一下,才比较直观. 本文就是读 ...
- s3c2440 上txt 小说阅读器
文件结构 Makefile: CROSSCOMPILE := arm-linux- CFLAGS := -Wall -O2 -c LDFLAGS := -lm -lfreetype CC := $(C ...
- linux下gedit读取txt乱码解决办法
修改一下gedit的设置来让它显示的txt不再是乱码: 你可以通过以下步骤,使 gedit 正确显示中文编码文件. 按下 Alt-F2,打开“运行应用程序”对话框.在文本框中键入“gconf-edit ...
- smem – Linux 内存监视软件
导读 Linux 系统的内存管理工作中,内存使用情况的监控是十分重要的,在各种 Linux 发行版上你会找到许多这种工具.它们的工作方式多种多样,在这里,我们将会介绍如何安装和使用这样的一个名为 sm ...
- [转载] linux下打开windows txt文件中文乱码问题
原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在win ...
- bat file handling, main: echo type *.txt >> />
echo.@.call.pause.rem(小技巧:用::代替rem)是批处理文件最常用的几个命令 echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 ...
- Gentoo解决Windows系统txt文本中文乱码问题
Linux与Windows系统语言编码区别 在Linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操 ...
- 第一篇-Win10打开txt文件出现中文乱码
如果刚开始安装的是英文的Win10系统,那么打开txt文件时很容易出现乱码问题.包括打开cmd窗口,也是不能显示中文的.当然,麻烦的处理方法是: 在cmd中想要显示中文:先输入chcp 936,之后中 ...
随机推荐
- DWR第一篇之入门示例
1. 新建maven-web项目,目录结构如下: 2. 在pom.xml里添加dwr所需的依赖 <dependency> <groupId>org.directwebremot ...
- DRDS SQL 审计与分析——全面洞察 SQL 之利器
背景 数据库存储着系统的核心数据,其安全方面的问题在传统环境中已经成为泄漏和被篡改的重要根源.而在云端,数据库所面临的威胁被进一步的放大.因此,对云数据库的操作行为尤其是全量 SQL 执行记录的审计日 ...
- mysql累积聚合
累积聚合为聚合从序列内第一个元素到当前元素的数据,如为每个员工返回每月开始到现在累积的订单数量和平均订单数量 行号问题有两个解决方案,分别是为使用子查询和使用连接.子查询的方法通常比较直观,可读性强. ...
- PPP中的PAP和CHAP的区别
PAP PAP是简单认证,明文传送,客户端直接发送包含用户名/口令的认证请求,服务器端处理并回应. CHAP CHAP是加密认证,先由服务器端给客户端发送一个随机码 challenge,客户端根据 c ...
- UVC 驱动调用过程与驱动框架的简单分析
内核:Linux-3.4.2 驱动:drivers\media\video\uvc\uvc_driver.c UVC 驱动整体调用流程: /* 打开设备描述符 */ 1. open: uvc_v4l2 ...
- mybatis逆向工程(MyBatis Generator)
mybatis逆向工程(MyBatis Generator) 1. 什么是mybatis逆向工程 mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml.mappe ...
- js_html_input中autocomplete="off"在chrom中失效的解决办法
分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocomplete="new-password"(已实测,有效) 网上咱没有找到对其详细解释,但是发现16 ...
- 3. 原子变量-CAS算法
1. 是什么 ? 2. CAS算法模拟 package com.gf.demo03; public class TestCompareAndSwap { public static void main ...
- git 拉取分支代码 合分支
git config --global user.name"yourName" //用户名 yourName git config --global user.email" ...
- PlugNT CMS v4.6.3 调用文章上一页和下一页及点击数加1
using System; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.WebContr ...