linux执行gc命令,linux gc命令

Linux里面JVM内存怎么设置

一、堆内存相关配置

创新互联建站服务项目包括夏邑网站建设、夏邑网站制作、夏邑网页制作以及夏邑网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,夏邑网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到夏邑省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

设置堆初始值

指令1:-Xms2g

指令2:-XX:InitialHeapSize=2048m

设置堆区最大值

指令1:`-Xmx2g`

指令2: -XX:MaxHeapSize=2048m

缩小堆内存的时机

-XX:MaxHeapFreeRatio=70//堆内存使用率大于70时扩张堆内存,xms=xmx时该参数无效,默认值70

扩张堆内存的时机

-XX:MinHeapFreeRatio=40//堆内存使用率小于40时缩减堆内存,xms=xmx时该参数无效,默认值40

新生代内存配置

指令1:-Xmn512m

指令2:-XX:MaxNewSize=512m

2个survivor区和Eden区大小比率

指令:-XX:SurvivorRatio=6 //S区和Eden区占新生代比率为1:6,两个S区2:6

新生代和老年代的占比

-XX:NewRatio=4 //表示新生代:老年代 = 1:4 即老年代占整个堆的4/5;默认值=2

二、方法区内存配置常用参数

初始化的Metaspace大小,

-XX:MetaspaceSize :

Metaspace最大值

-XX:MaxMetaspaceSize

三、线程栈内存配置常用参数

每个线程栈最大值

指令1:-Xss256k

指令2:-XX:ThreadStackSize=256k

注意:

栈设置太大,会导致线程创建减少。

栈设置小,会导致深入不够,深度的递归会导致栈溢出。

建议栈深度设置在3000-5000

四、配置垃圾收集器

Serial垃圾收集器(新生代)

开启:-XX:+UseSerialGC

关闭:-XX:-UseSerialGC

//新生代使用Serial 老年代则使用SerialOld

ParNew垃圾收集器(新生代)

开启 -XX:+UseParNewGC

关闭 -XX:-UseParNewGC

//新生代使用功能ParNew 老年代则使用功能CMS

Parallel Scavenge收集器(新生代)

开启 -XX:+UseParallelOldGC

关闭 -XX:-UseParallelOldGC

//新生代使用功能Parallel Scavenge 老年代将会使用Parallel Old收集器

ParallelOl垃圾收集器(老年代)

开启 -XX:+UseParallelGC

关闭 -XX:-UseParallelGC

//新生代使用功能Parallel Scavenge 老年代将会使用Parallel Old收集器

CMS垃圾收集器(老年代)

开启 -XX:+UseConcMarkSweepGC

关闭 -XX:-UseConcMarkSweepGC

G1垃圾收集器

开启 -XX:+UseG1GC

关闭 -XX:-UseG1GC

五、GC策略配置

GC并行执行线程数

-XX:ParallelGCThreads=16

新生代可容纳的最大对象

-XX:PretenureSizeThreshold=1000000 //大于此值的对象直接会分配到老年代,设置为0则没有限制。 //避免在Eden区和Survivor区发生大量的内存复制,该参数只对Serial和ParNew收集器有效,Parallel Scavenge并不认识该参数

进入老年代的GC年龄

进入老年代最小的GC年龄

-XX:InitialTenuringThreshol=7 //年轻代对象转换为老年代对象最小年龄值,默认值7,对象在坚持过一次Minor GC之后,年龄就加1,每个对象在坚持过一次Minor GC之后,年龄就增加1

进入老年代最大的GC年龄

-XX:MaxTenuringThreshold=15 //年轻代对象转换为老年代对象最大年龄值,默认值15

六、GC日志信息配置

配置GC文件路径

-Xloggc:/data/gclog/gc.log//固定路径名称生成 -Xloggc:/home/GCEASY/gc-%t.log //根据时间生成

滚动生成日志

日志文件达到一定大小后,生成另一个文件。须配置Xloggc

开启 -XX:+UseGCLogFileRotation

关闭 -XX:-UseGCLogFileRotation

-XX:NumberOfGCLogFiles=4 //滚动GC日志文件数,默认0,不滚动 -XX:GCLogFileSize=100k //GC文件滚动大小,需配置UseGCLogFileRotation,设置为0表示仅通过jcmd命令触发

linux vi编辑器命令操作怎么做,把命令写给我,能写多少就写多少吧

你输入指令, vi -- help然后就会显示,或者输入man vi也是一样的,:qx 开始记录宏,并将结果存入寄存器x

q 退出记录模式

@x 播放记录在x寄存器中的宏命令

稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模

式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@x20,可以重复20次。这个在文本的批处理中是非常有用的。

同时编辑多个文件

在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。

标签命令

:tabe fn 在一个新的标签页中编辑文件fn

gt 切换到下一个标签页

gT 切换到上一个标签页

:tabr 切换到第一个标签页

:tabl 切换到最后一个标签页

:tabm [N] 把当前tab移动到第N个tab之后

对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!

窗口命令

ctrl+w s 水平分割窗口

ctrl+w w 切换窗口

ctrl+w q 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)

ctrl+w v 垂直分割窗口

其他

vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。

:e file 把file加载到新的缓冲区中

:bn 跳转到下一个缓冲区

:bd 删除缓冲区(关闭文件)

:sp fn 分割窗口,并将fn加载到新的窗口中

退出编辑器

:w 将缓冲区写入文件,即保存修改

:wq 保存修改并退出

:x 保存修改并退出

:q 退出,如果对缓冲区进行过修改,则会提示

:q! 强制退出,放弃修改

查找替换

/pattern 向后搜索字符串pattern

?pattern 向前搜索字符串pattern

n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)

N 上一个匹配(同上)

:%s/old/new/g 搜索整个文件,将所有的old替换为new

:%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换

复制粘贴

dd 删除光标所在行

dw 删除一个字(word)

x 删除当前字符

X 删除前一个字符

D 删除到行末

yy 复制一行,此命令前可跟数字,标识复制多行,如6yy,表示从当前行开始复制6行

yw 复制一个字

y$ 复制到行末

p 粘贴粘贴板的内容到当前行的下面

P 粘贴粘贴板的内容到当前行的上面

]p 有缩进的粘贴,vim会自动调节代码的缩进

"a 将内容放入/存入a寄存器,可以支持多粘贴板

附:比如常用的一个寄存器就是系统寄存器,名称为+,所以从系统粘贴板粘贴到vim中的命令为"+p,注意此处的+不表示操作符,二十一个寄存器。

移动光标

在vim中移动光标跟其他的编辑器中有很大的区别,不过一旦学会了,就会飞速的在文本中移动了。

h,j,k,l 上,下,左,右

ctrl-f 上翻一页

ctrl-b 下翻一页

% 跳到与当前括号匹配的括号处,如当前在{,则跳转到与之匹配的}处

w 跳到下一个字首,按标点或单词分割

W 跳到下一个字首,长跳,如end-of-line被认为是一个字

e 跳到下一个字尾

E 跳到下一个字尾,长跳

b 跳到上一个字

B 跳到上一个字,长跳

0 跳至行首,不管有无缩进,就是跳到第0个字符

^ 跳至行首的第一个字符

$ 跳至行尾

gg 跳至文件的第一行

gd 跳至当前光标所在的变量的声明处

[N]G 跳到第N行,如0G,就等价于gg,100G就是第100行

fx 在当前行中找x字符,找到了就跳转至

; 重复上一个f命令,而不用重复的输入fx

tx 与fx类似,但是只是跳转到x的前一个字符处

Fx 跟fx的方向相反

),( 跳转到上/下一个语句

* 查找光标所在处的单词,向下查找

# 查找光标所在处的单词,向上查找

`. 跳转至上次编辑位置

在屏幕上移动

H 移动光标到当前屏幕上最上边的一行

M 移动光标到当前屏幕上中间的一行

L 移动光标到当前屏幕上最下边的一行

书签

ma 把当前位置存成标签a

`a 跳转到标签a处

编辑

r 替换一个字符

J 将下一行和当前行连接为一行

cc 删除当前行并进入编辑模式

cw 删除当前字,并进入编辑模式

c$ 擦除从当前位置至行末的内容,并进入编辑模式

s 删除当前字符并进入编辑模式

S 删除光标所在行并进入编辑模式

xp 交换当前字符和下一个字符

u 撤销

ctrl+r 重做

. 重复上一个编辑命令

~ 切换大小写,当前字符

g~iw 切换当前字的大小写

gUiw 将当前字变成大写

guiw 将当前字变成小写

将当前行右移一个单位

将当前行左移一个单位(一个tab符)

== 自动缩进当前行

插入模式

i 从当前光标处进入插入模式

I 进入插入模式,并置光标于行首

a 追加模式,置光标于当前光标之后

A 追加模式,置光标于行末

o 在当前行之下新加一行,并进入插入模式

O 在当前行之上新加一行,并进入插入模式

Esc 退出插入模式

可视模式

标记文本

v 进入可视模式,单字符模式

V 进入可视模式,行模式

ctrl+v 进入可视模式,列模式,类似于UE的列模式

o 跳转光标到选中块的另一个端点

U 将选中块中的内容转成大写

O 跳转光标到块的另一个端点

aw 选中一个字

ab 选中括号中的所有内容,包括括号本身

aB 选中{}括号中的所有内容

ib 选中括号中的内容,不含括号

iB 选中{}中的内容,不含{}

对标记进行动作

块右移

块左移

y 复制块

d 删除块

~ 切换块中内容的大小写

Linux使用jstat命令查看jvm的GC情况

Linux 使用jstat命令查看jvm的GC情况

命令格式

jstat命令命令格式:

jstat [Options] vmid[interval] [count]

参数说明:

Options,选项,我们一般使用 -gcutil 查看gc情况

vmid

,VM的进程号,即当前运行的java进程号

interval

,间隔时间,单位为秒或者毫秒

count

,打印次数,如果缺省则打印无数次

示例说明

示例

通常运行命令如下:

jstat -gc 12538 5000

即会每5秒一次显示进程号为12538的java进成的GC情况,

显示内容如下图:

结果说明

S0C:年轻代中第一个survivor(幸存区)的容量 (字节)

S1C

:年轻代中第二个survivor(幸存区)的容量 (字节)

S0U

:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)

S1U

:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)

EC

:年轻代中Eden(伊甸园)的容量 (字节)

EU

:年轻代中Eden(伊甸园)目前已使用空间 (字节)

OC

:Old代的容量 (字节)

OU

:Old代目前已使用空间 (字节)

PC

:Perm(持久代)的容量 (字节)

PU

:Perm(持久代)目前已使用空间 (字节)

YGC

:从应用程序启动到采样时年轻代中gc次数

YGCT

:从应用程序启动到采样时年轻代中gc所用时间(s)

FGC

:从应用程序启动到采样时old代(全gc)gc次数

FGCT

:从应用程序启动到采样时old代(全gc)gc所用时间(s)

GCT

:从应用程序启动到采样时gc用的总时间(s)

NGCMN

:年轻代(young)中初始化(最小)的大小 (字节)

NGCMX

:年轻代(young)的最大容量 (字节)

NGC

:年轻代(young)中当前的容量 (字节)

OGCMN

:old代中初始化(最小)的大小 (字节)

OGCMX

:old代的最大容量 (字节)

OGC

:old代当前新生成的容量 (字节)

PGCMN

:perm代中初始化(最小)的大小 (字节)

PGCMX

:perm代的最大容量 (字节)

PGC

:perm代当前新生成的容量 (字节)

S0

:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比

S1

:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比

E

:年轻代中Eden(伊甸园)已使用的占当前容量百分比

O

:old代已使用的占当前容量百分比

P

:perm代已使用的占当前容量百分比

S0CMX

:年轻代中第一个survivor(幸存区)的最大容量 (字节)

S1CMX

:年轻代中第二个survivor(幸存区)的最大容量 (字节)

ECMX

:年轻代中Eden(伊甸园)的最大容量 (字节)

DSS

:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)

TT

: 持有次数限制

MTT

: 最大持有次数限制

linux命令全?

linux基本命令:(其他的太多了,自己去百度吧)

ls:

-l:显示详细信息

-a:显示隐藏文件和其他所有文件(以.开头的为隐藏文件)

-t:安时间排序

-h:以KB MB 等单位显示

-d:只列出目录名,不列出其他内容

-R:递归显示所有目录及子目录

-lath:选项可以合并

pwd:显示当前所在位置

cd:转换目录

cd ..:返回上一级目录

cd -:回到上一次操作的目录

mkdir: 建目录

-v:显示所建目录,相同可用{}:mkdir -v dir{1,2,3}

-p:创建多级目录

rmdir:删除空目录

rm:删除

-f:强制删除无提示

-r:可删除目录

mv:移动 重命名

touch:建立空文件

file:验证文件或目录的类型

cp:复制,粘贴 (copy)改名

cp 原文件 目标文件

-r:可复制目录

ssh 192.168.1.33 远程登录

跨机拷贝:scp -r /root/Server/ 192.168.1.253:/dcw

man 命令:帮助

alias:查看是否有别名

去掉别名用完整路径

eg:

#which cp

#/bin/cp a.text b.text 或 \cp a.text b.text

或 在 /root/.bashrc 中去掉#alias cp='cp -i',后#unalias cp

查看某文件前4行内容并显示文件路径和文件名

[/usr/local/nagios]#ls /etc/vsftpd/vsftpd.conf head -n 4 /etc/vsftpd/vsftpd.conf

/etc/vsftpd/vsftpd.conf

# Example config file /etc/vsftpd/vsftpd.conf

#

# The default compiled in settings are fairly paranoid. This sample file

# loosens things up a bit, to make the ftp daemon more usable.

linux tee 命令详解

功能说明:读取标准输入的数据,并将其内容输出成文件。

语法:tee [-ai][--help][--version][文件...]

补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

参数:

 -a或--append  附加到既有文件的后面,而非覆盖它.

 -i-i或--ignore-interrupts  忽略中断信号。

 --help  在线帮助。

 --version  显示版本信息。

cat /etc/sysconfig/network

-n:查看行号信息

more:空格翻页 回车换行

less:上下键翻页 可以反复看(可以回翻页)

head:显示前几行

head -5 install.log 显示前5行

tail:显示后几行

tail -f 动态更新

grep:查看文件中包含关键字的一行

#grep --color=tty dump intstall.log 彩色显示

正则表达式:^root 以root为开头(^)

root$,以root结尾($)

-v:不包括的几行(取反)

grep -n -v ^# /etc/vsftpd/vsftpd.conf

:r /root/install.log 追加读入一个文件

:e 读入文件

:e! 重新读入

:q 不保存 :q!强制退出

:w 保存 :qw保存退出 :wq! 强制保存退出

在未写入状态时:

h 左 k 上 j下 l 右

shift+4($) 光标移到行尾 shift+6(^) 光标移到行头

:50 来到50行

#vim /root/install.log +50(n)来到50行

:set nu 显示行号

:set nonu 取消行号

shift+g 来到行尾

n(无显示)+G:直接来到n行

shift+a:自动来到行尾输入

:50,100 w bb.txt 保存50到100行的内容到bb.txt中

r :替换单个字符 R:替换全行

shift+o:向上插入 o:向下插入

yy 复制 p 粘贴

(n)2yy 复制前两行

y^:复制从光标位置到开头 y$:复制从光标位置到结尾

d:剪贴一行

dd:剪贴两行

ndd:多行

d^:剪贴到开头 d$:剪贴到结尾

:g/^$/d 去掉空行

:g/^\s*$/d 去空格

向左移动25个字符:25+l

:/ 查找 自上而下

:? 查找自下而上

n 下一个

替换:

:s/old/new 把旧的换为新的 单个

:s/old/new/g 整行替换

:%s/old/new/g 整个文件替换

:%s/old/new/gc 整个文件替换并询问

u:替换上次命令

ctrl+r 重做

ctrl+^ 两个切换

打开多个文件

vim a.txt b.txt c.txt

:args 可选

:next

:prev

:last

vim diff a.txt b.txt

ctrl+w+w 跳到第二个文件

:wqa

使用vimtutor工具联系vim使用。

vimtutor工具使用方法:

vimtutor zh

如果出现乱马,使用下面命令解决(只能执行一次)

cd /usr/share/vim/vim70/tutor

mv tutor.zh.euc tutor.zh.euc.bak

iconv -f gb2312 -t utf-8 tutor.zh.euc.bak tutor.zh.euc

vimtutor zh

locate :空间换时间

updatedb

locate passwd

find [路径] [参数] [表达式]

find /usr/share/doc -name filename

-user:根据文件拥有者寻找文件

-group:根据文件所属组寻找文件

-name:根据文件名寻找文件

-perm:根据文件权限寻找

-size:根据文件大小寻找

-type:根据文件类型寻找文件,参数对应c b l f d

find 的表达式使用通配符时需要使用“”圈界

find 目录 条件 条件

[root@localhost ~]# find / -name "pass*"

当前目录:.

find . -name "*ss*"

find . -type f(文件)

find . -type d(目录)

[root@localhost ~]# find . -nouser(文件无属主)

[root@localhost ~]# find . -nogroup(文件无属组)

[root@localhost ~]# find /home/ -user/group user1

-exec

[root@localhost ~]# find . -nouser -exec rm {} \;

{}代表文件和目录

\转义字符

-ok

find . -nogroup -ok rm -rf {} \;有提示删除

[root@localhost ~]# stat a

File: “a”

Size: 0 Blocks: 0 IO Block: 4096 一般空文件

Device: 803h/2051d Inode: 261796 Links: 1

Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)

Access: 2011-04-02 14:23:25.000000000 +0800(创建时间:-atime)

Modify: 2011-04-02 14:23:25.000000000 +0800(修改时间:-mtime)

Change: 2011-04-02 14:23:25.000000000 +0800(改变属组属主会变:-ctime)

find /root -mtime -5(5天以内) 5(5天时) +5(5天前)

find . -perm 400:要求权限全部匹配,精确匹配

find . -perm +600(wr):有w,r中任意权限的都会列出,即会列出200 400 600 的权限

find . -perm -600 :要求权限完全满足 权限大于等于600

-name -type

-name -user

-perm -type

-nouser

-nogroup

-mtime

-exec

-ok

-rgex(正则表达式)

基于c语言的源代码,使用linux里面的gcc语言程序 产生的中间文件

obj文件,也就是常说的.o文件

比如下面的指令会产生app.o文件

]$gcc -c app.c

这个是从源代码变成obj文件,这个过程叫编译。

如果app.c里面有main函数,又不依赖其他库文件,那么下面的指令生成执行文件

]$gcc -o app app.o

这就是从.o文件变成执行文件,这个过程叫链接。

求Linux关机命令详解

linux的关机命令主要有shutdown、halt、reboot、init。shutdown是一种比较安全的关机方法,可以在关机之前通知所有当前登录用户并且阻止用户的登录,可以安全关闭后台的进程。可以通过很多的参数来配置具体的功能。halt:起功能等同于shutdown -h,杀死应用进程,执行sync系统调用,文件系统的些操作完成后会停止内核reboot:起功能类似于halt,只不过关机之后进行重启。init:init进程是所有进程的祖先,其进程号始终为1,可以发信号给init进程来实现关机操作,shutdown就是此种实现方式。 linux的基本指令1.exit:这个指令是退出系统,但不是关机,linux中有很多作业,当你等入后相当于一个作业,当你等出时,作业停止,但其它作业还在进行,只有关机才行。

2.date:显示当前日期

格式化日期:date +%y/%m/%d

3.cal: 显示日历

格式化日历:cal [month] [year]

4.bc: 内置计算器

5.man: 求助了!与info类似

man [command]

6.shutdown: 这就是关机了

shutdown -t sec: shutdown -t 10 10秒关机

shutdown -k message:shutdown -k I WILL SHUTDOWN 不真的关机,只是发个消息I WILL SHUTDOWN

shutdown -c 取消当前已经在执行的关机指令

shutdown -h time:shutdown -h 20:20 停止系统的服务,在20:20关机

shutdown -r time:shutdown -r now 停止系统的服务,然后重新开机

7.reboot :重启,与shutdown -r now

8.目录文件权限

chgrp groupname file/directory: chgrp uranus1 a 变更a文件的组为uranus1

chmod xyz file/directory: chmod 777 a 变更a文件的权限为-rwxrwxrwx

chown user file/directory: chown uranus1 a 变更a文件的拥有者为uranus1

umask 文件或目录时的默认权限

umask:查看

umask xyz:设定

9.cd [相对路径或绝对路径]

10. pwd 显示当前路径

11. mkdir/rmdir 建立目录/删除目录

12. ls 显示文件名称,属性等

ls -a 列出所有文件(连同隐藏文档)

ls -l 详细列出

ls -s 以文件大小排序

13. cp [souce] [object]进行复制

cp -d

cp -r 可以进行目录的复制

cp -s 做成联接文件,与ln功能相同

cp -u 如果源文件新才会复制

14. rm [文件名] 删除文件

rm -i 用户确认

rm -r 循环删除

rm -f 强制删除

15. mv [souce] [object]移动

16. 查看文件内容

cat [文件] 查看文件内容

tac [文件] 最后一行显示

more/less [文件] 显示文件

head/tail -n [文件] 从头或尾开始看文件N行

nl 与cat类似

od 读非ASCii数据文件

17. chattr与Isattr 文件的安全性相关

chattr [+-=] [ASacdistu] [file/directory]

+-=:分别增加,减少,设定属性

A :存取时间atime不能修改

18. 搜索文件

which [文件名] 查看可执行文件的位置

whereis [目录名称]

-a :找二进制文件

-m:说明文件manual路径下的文件

-s:只找source 源文件

-n:没有说明文档文件

locate [目录名称]

find [路径] [参数]

1.时间:

-atime n:n*24小时内存取过的文件全部列出来

-ctime n:n*24小时内改变,新增的文件或目录列出来

-mtime n:n*24小时内修改过的文件列出来

-newer file:把比file还要新的文件列出来

2.使用名字

-gid n:寻找群组ID为N的文件

-group name:寻找群组名称为name的文件

-uid n:寻找拥有者ID为N的文件

-user name:寻找用户名称为name的文件

-name file:寻找文件名为file的文件名称

-type type:寻找文件属性为type的文件,包含b,c,d,p,l,s(接口设备b,端口设备c,目录d,联接文件l)

19. vi基本操作(光标移动的不用多讲)

查找与替换

/word 在光标之后查找一个名为word的字符串

?word 在光标之前查找一个名为word的字符串

n1,n2s/word1/word2/g 在n1行到n2行之间的查找与替换

1,$s/word1/word2/gc 在1到最后一行这间的查找与替换,并在换时要确认。

命令行模式:

w: 保存

w!:若文件只读,刚强制写

q:退出

wq:

w[filename]:将数据放在另一个文件中

r[filename]:读入另一个文件的数据。

set nu:加入行

set nonu:与set nu 相反

n1,n2 w[filename]:从n1到n2的内容保存为filename这个文件。


新闻标题:linux执行gc命令,linux gc命令
转载来于:http://bzwzjz.com/article/hegpdc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站制作 成都企业网站建设公司 成都响应式网站建设 成都网站建设 成都网站建设 成都响应式网站建设 响应式网站建设 成都网站建设公司 成都模版网站建设 成都定制网站建设 网站建设开发 成都网站设计 成都商城网站制作 公司网站建设 网站设计 网站建设费用 定制网站设计 盐亭网站设计 营销型网站建设 H5网站制作 手机网站建设套餐 成都网站建设公司