- 执行ping命令时提示ping: sendmsg: Operation not permitted
乐十九
服务器网络运维
查看日志发现出现了大量的tablefull,droppingpacket记录,后上网查看资料发现是因为当前会话数已经满了,因此出现丢包现象。这里需要说一下nf_conntracknf_conntrack(在老版本的Linux内核中叫ip_conntrack)是一个内核模块,用于跟踪一个连接的状态的。连接状态跟踪可以供其他模块使用,最常见的两个使用场景是iptables的nat的state模块。ip
- GNU/Linux问题集
wcy1323
LINUXdebianoracleapacheshellmysqllinux
整理:Jimsof本文遵从GPL协议,欢迎转载、修改、散布注:为了反映最新的变化,该文档从2004/11/29开始,把新的内容放到前面。2005/03/30问题:在NAT机器上的Log中出现大量的“ip_conntrack:tablefull,droppingpacket.”解决:ip_conntrack是nat的连接状态跟踪数据库,维护一个连接状态跟踪表,该表的容量一般有1024字节,如果连接数
- linux iptables nf_conntrack 简介
whatday
目录nf_conntrack模块常用命令nf_conntrack会话表的内容解释nf_conntrack相关内核参数和解释如何判断会话表是否满会话表满的解决办法计算公式nf_conntrack(在老版本的Linux内核中叫ip_conntrack)是一个内核模块,用于跟踪一个连接的状态的。连接状态跟踪可以供其他模块使用,最常见的两个使用场景是iptables的nat的state模块。iptable
- 基础知识Iptables
后知不觉1
一、iptables的四表五链链是放在表中的,总共有四个表,每个表有不同的优化级:raw>mangle>nat>filter1、四表1.1、raw表是自1.2.9以后版本的iptables新增的表,主要用于决定数据包是否被状态跟踪机制处理,一般在高并发时有可能会用到,来设置一些连接不跟踪状态,防止ip_conntrack文件被撑爆很少用1.2、mangle表主要用于修改数据包的TOS(TypeOf
- linux内核netfilter之ip_conntrack模块的作用举例--ftp为例
dog250
很多协议的控制信息在应用层数据中被包含,这些信息直接影响到了链路的建立,比如ftp协议就是这样,ftp分为port模式和pass模式,port模式中,起初client连接server的21端口,然后当需要传输data的时候,client发送一个控制包给server,包中包含client端开启的端口和自己的ip地址,server收到之后用自己的20端口去连接client控制包中建议的ip和端口,在这
- 关于bridge-nf-call-iptables的设计问题
iteye_3759
熟悉ebtables和iptables的都知道,后者提供的选项所能实现的功能要远远多于前者,但这并不是说IP层的功能要比数据链路层的更丰富,因为只要数据包进入网卡,协议栈代码就能“看到”整个数据包,剩下的问题就是如何来解析和过滤的问题了,只要愿意,实际上协议栈完全可以在数据链路层提供和IP层同样的过滤功能,比如ip_conntrack。然而,协议栈并没有这么实现,因为那样会造成严重的代码冗余,维护
- 关于iptables
Lalphbet
LinuxSystemLinuxNetwork...inputoutput终端ssh
同一台机器,eth0-->eth1这个在iptables里也算是forward链...在加载iptable_nat的模块之后..顺便把ip_conntrack也一起带进了内核...然后/proc/net/ip_conntrack疯涨,怕网关当机,就rmmodiptable_nat啦,结果还是疯涨...于是...rmmodip_conntrack,一切正常...注意在设置iptables某个链譬如I
- 终于搞定Linux的NAT即时生效问题
iteye_3759
引:超长的前言Linux的NAT不能及时生效,因为它是基于ip_conntrack的,如果在NAT的iptables规则添加之前,此流的数据包已经绑定了一个ip_conntrack,那么该NAT规则就不会生效,直到此ip_conntrack过期,如果一直有数据在鲁莽地尝试传输,那么就会陷入僵持状态。在Linux系统中,ip_conntrack创建成功是按照一个流的头包是否成功被传输出协议栈这个原则
- 高并发下iptables丢包导致网络变慢解决方法
xuxuer
Linux学习笔记
很多人估计遇到这个问题,开启iptables时,一旦网络连接并发较多,比如5000个以上,就发现网络响应变得很慢,这时syslog中出现大量以下日志:ip_conntrack:tablefull,droppingpacket.这是因为分配给ip_conntrack的默认的内存空间过小造成,需要加大此值,并且这个值是无法通过/etc/sysctl.conf修改的.我被这个问题困扰了很久,按网上的方法
- nf_conntrack: table full, dropping packet. 终结篇
weixin_30585437
“连接跟踪表已满,开始丢包”!相信不少用iptables的同学都会见过这个错误信息吧,这个问题曾经也困扰过我好长一段时间。此问题的解决办法有四种(nf_conntrack在CentOS5/kernel<=2.6.19中名为ip_conntrack):一、关闭防火墙。简单粗暴,直接有效chkconfigiptablesoffchkconfigip6tablesoffserviceiptablesst
- iptables命令、规则、参数详解
diaoxihang5066
表(table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.filter---这个
- 转载:真刀真枪压测:基于TCPCopy的仿真压测方案
思想黑客
原文链接:https://www.cnblogs.com/zhengyun_ustc/p/tcpcopy.html郑昀基于刘勤红和石雍志的实践报告创建于2015/8/13最后更新于2015/8/19关键词:压测、TCPCopy、仿真测试、实时拷贝流量本文档适用人员:技术人员提纲:为什么要做仿真测试TCPCopy是如何工作的实作:仿真测试的拓扑实作:操作步骤可能会遇到的问题ip_conntrack少
- iptables命令、规则、参数详解
stackpush
云计算
表(table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.filter---这个
- Iptables
lixinjjy
Iptables51CTO51博客Linuxcommand
iptables命令、规则、参数详解表(table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链
- nf_conntrack: table full, dropping packet. 终结篇
houzhizhen
“连接跟踪表已满,开始丢包”!相信不少用iptables的同学都会见过这个错误信息吧,这个问题曾经也困扰过我好长一段时间。此问题的解决办法有四种(nf_conntrack在CentOS5/kernel<=2.6.19中名为ip_conntrack):一、关闭防火墙。简单粗暴,直接有效chkconfigiptablesoff chkconfigip6tablesoff serviceiptables
- iptables查询自动加载nf_conntrack模块引起故障
heshan307
背景:ip_conntrack是linuxNAT的一个跟踪连接条目的模块,与Iptables相关,ip_conntrack模块会使用一个哈希表记录tcp通讯协议的establishedconnection记录,当这个哈希表满了的时候,便会导致nf_conntrack:tablefull,droppingpacket错误。在防火墙关闭状态下,不要通过iptables指令(比如iptables-nL)
- nf_conntrack: table full, dropping packet. 终结篇
小树苗苗
原文链接如下https://my.oschina.net/kisops/blog/150995“连接跟踪表已满,开始丢包”!相信不少用iptables的同学都会见过这个错误信息吧,这个问题曾经也困扰过我好长一段时间。此问题的解决办法有四种(nf_conntrack在CentOS5/kernel<=2.6.19中名为ip_conntrack):一、关闭防火墙。简单粗暴,直接有效chkconfigip
- iptables 内核调优 面试题
邓美男1989
iptableslinux命令
一个面试题dmesg里显示ip_conntrack:talbefull,droppingpacket的错误提示,如何解决iptables的连接跟踪表满了,配置如下参数即可适用于centos6.4vim/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_waitnet.nf_conntrack_max=25000000net.net
- TOMCAT JDBC连接不上MYSQL的常用诊断
DBABruce
mysql故障处理
下面对常见的情况进行分析:1、web和数据库操作系统是否有问题web端系统日志报错:ip_conntrack:tablefull,droppingpacket该报错说明web服务器有掉包情况,需要更改配置#vim/etc/sysctl.conf添加如下行net.ipv4.netfilter.ip_conntrack_max=655350net.ipv4.netfilter.ip_conntrack
- TOMCAT JDBC连接不上MYSQL的常用诊断
DBABruce
mysql故障处理
下面对常见的情况进行分析:1、web和数据库操作系统是否有问题web端系统日志报错:ip_conntrack:tablefull,droppingpacket该报错说明web服务器有掉包情况,需要更改配置#vim/etc/sysctl.conf添加如下行net.ipv4.netfilter.ip_conntrack_max=655350net.ipv4.netfilter.ip_conntrack
- 再看nf_conntrack: table full问题
shanker
iptablesconntrack
转载自:http://www.361way.com/%E5%86%8D%E7%9C%8Bnf_conntrack-table-full%E9%97%AE%E9%A2%98/2404.html一年前,我写过一篇博文叫―――― ip_conntrack:tablefull问题 ,当时是在squid应用主机上最先发现了该问题,也于当时,深刻了解到iptables的这个报错,会造成拒绝服务的问题。其后ip
- 关于ip_conntrack跟踪连接满导致网络丢包问题的分析
南非蚂蚁
服务器网络连接网站流量
我们的线上web服务器在访问量很大时,就会出现网络连接丢包的问题,通过dmesg命令查看日志,发现如下信息:kernel: ip_conntrack: table full, dropping packet.
kernel: printk: 1 messages suppressed.
kernel: ip_conntrack: table full, dropping packet.
kerne
- 关于ip_conntrack跟踪连接满导致网络丢包问题的分析
南非蚂蚁
服务器网站流量网络连接Linux系统专题
我们的线上web服务器在访问量很大时,就会出现网络连接丢包的问题,通过dmesg命令查看日志,发现如下信息:kernel: ip_conntrack: table full, dropping packet.kernel: printk: 1 messages suppressed.kernel: ip_conntrack: table full, dropping packet.kernel:
- iptables命令、规则、参数详解
zclzhao
表 (table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.filter--
- nginx大量连接时,出现502错误
xiaoyu966
nginx优化高并发502ip_conntrack
问题描述Nginx的日志出现大量的upstreamtimeout,dmesg和/var/log/messages查看系统日志后,发现很多的错误日志:ip_conntrack:tablefull,droppingpacket 问题原因nf_conntrack工作在3层,查看当前连接数的命令如下:#grepconntrack/proc/slabinfonf_conntrack跟nat有关,用来跟踪连接
- 无状态TCP的ip_conntrack
rack
Linux的ip_conntrack实现得过于沉重和精细。而实际上有时候,根本不需要在conntrack中对TCP的状态进行跟踪,只把它当UDP好了,我们的需求就是让系统可以将一个数据包和一个五元组标示的流相关联,因为很多的基于流的策略都设置在conntrack结构中,所以当关联好之后,就可以直接取出策略来作用于数据包了,不再需要为每一个数据包都来一次策略匹配。 &nb
- 一次由ip_conntrack跟踪连接库满导致的大量丢包现象排除
武当剑客
http://storysky.blog.51cto.com/628458/243835/http://c20031776.blog.163.com/blog/static/68471625201352431052163/http://blog.chinaunix.net/uid-26870656-id-4452544.html
- ip_conntrack缓存neighbour
rack
在我的ip_conntrack版本中,它目前已经可以缓存路由,filter规则等,还可以平滑生效最新配置的NAT,它越来越像真正的SDN了,唯一有待完善的就是将5元组的tuple进化成N元组的tuple了,其余的更新及修正都是些不会引发质变的量变。 现在看一下,ip_conntrack还能缓存什么?当然了,在我
- nat网关检测内网异常流量脚本
NAT
如果使用linux iptables做防火墙,可以考虑用下面这个脚本迅速确定到底哪个ip的流量不正常。
脚本内容如下:
#!/bin/sh
#edit by iamshiyu
cat /proc/net/ip_conntrack > 1.log
cat 1.log | grep "udp" | awk '{print $4 " " $1}' >
- 真刀真枪压测:基于TCPCopy的仿真压测方案
zhengyun_ustc
压力测试tcpcopy仿真压测
郑昀基于刘勤红和石雍志的实践报告创建于2015/8/13最后更新于2015/8/19关键词:压测、TCPCopy、仿真测试、实时拷贝流量本文档适用人员:技术人员提纲:为什么要做仿真测试TCPCopy是如何工作的实作:仿真测试的拓扑实作:操作步骤可能会遇到的问题ip_conntrack少量丢包离线重放不提取7层信息观测的性能指标0x00,为什么要做仿真测试线下的传统压力测试,难以模拟真实流量,尤其难
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul