[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,之后中 ...
随机推荐
- (转)python生态环境简介
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- 小程序开发--移动端分辨率与rpx
首先说一个很有意思的问题:一块720p的屏幕和1080p的屏幕那个大? 这个问题很有代表性,如果手机竖着放,720p=720px*1280px,而1080p=1080px*1920px;那么在宽度上, ...
- 聊聊数据库~2.SQL环境篇
传统数据库 上篇文章:聊聊数据库~开篇 https://www.cnblogs.com/dotnetcrazy/p/9690466.html 本来准备直接开讲NoSQL的(当时开篇就是说的NoSQL) ...
- 使用 Mutex 实现进程间同步
我们知道 Mutex 互斥量是可以用在线程间同步的,线程之间共享进程的数据,mutex 就可以直接引用.而进程有自己独立的内存空间,要怎样将它应用在进程间同步呢?为了达到这一目的,可以在 pthrea ...
- (void) (&_x == &_y)的作用
如果有下面这段代码: #define min(x, y) ({ \ const typeof(x) _x = (x); \ const typeof(y) _y = (y); \ (void) (&a ...
- 利用反射跟自定义注解拼接实体对象的查询SQL
前言 项目中虽然有ORM映射框架来帮我们拼写SQL,简化开发过程,降低开发难度.但难免会出现需要自己拼写SQL的情况,这里分享一个利用反射跟自定义注解拼接实体对象的查询SQL的方法. 代码 自定义注解 ...
- 结构型---组合模式(Composite Pattern)
组合模式的定义 组合模式允许你将对象组合成树形结构来表现”部分-整体“的层次结构,使得客户以一致的方式处理单个对象以及对象的组合. 组合模式实现的最关键的地方是——简单对象和复合对象必须实现相同的接口 ...
- .net使用websocket
专业挖坑21年 1.前 言 网上找了很多资料,可能是自己找的路子不对吧,都找不到适合我这样萌新的文章,大多.net环境使用的websocket都是在说一个通信的案例,学起来的确很吃力,自己也挖 ...
- [日常]总结2016年7月入职至2016年7月26号微盘所遇bug
2016年刚入职后在新浪微盘项目上所遇到的问题: 1.前端接口的程序不同版本问题,版本号在程序路径中区分,比如2.4.2/lib/sdk/api/weipan/Client.php 2.文件夹接口的m ...
- 列表 ul ol dl 和 块级标签和行及标签之间的转换
1. 无序列表 有序列表 自定义列表 1,无序列表 第一 你不必须有子标签 <li></li> 第二 ul天生自带内外边距 List-style的属性值 circle(空心圆 ...