Uncategorized

阿里云云主机添加swap分区与swap性能优化

swap的功能与相应内核参数 Linux 将物理内存分为内存段的部分被称作“页面”。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放用于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存的总量。交换空间通常是一个磁盘分区(此分区在安装操作系统时,系统通常会默认划分出一段空间用于交换分区,默认将交换空间的大小设定为内存的1倍到2倍),也可以是一个文件。 内核参数中有一个vm.swappiness参数,此参数代表了内核对于交换空间的喜好(或厌恶)程度。Swappiness 可以有 0 到 100 的值,默认的大小通常是60,但也有的是30。设置这个参数为较低的值会减少内存的交换,从而提升一些系统上的响应度。如果内存较为充裕,则可以将vm.swappiness大小设定为30,如果内存较少,可以设定为60。如果将此数值调整的过大,可能损失内存本来能提供的性能,并增加磁盘IO消耗和CPU的消耗。 关于阿里云云主机swap功能 阿里云提供的云服务器(Elastic Compute Service,简称 ECS),是云主机的一种,当前采用的虚拟化驱动是Xen(这一点可以通过bios vendor和virtual type可以看出)。 默认情况下,阿里云云主机的swap功能是没有启用的,原因当然是通过取消swap功能可以降低磁盘IO的占用率来让用户购买更多的内存、提高磁盘寿命和性能。 阿里当前的做法是: 1.不创建swap分区,由镜像决定 2.将vm.swappiness设定为0,即永不使用swap分区 […]

Uncategorized

【Linux】Linux统计文件夹、文件数量的命令

# 查看当前目录下的文件数量(不包含子目录中的文件) ls -l|grep “^-“| wc -l # 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录 ls -lR|grep “^-“| wc -l # 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R ls -l|grep “^d”|

Uncategorized

kubernetes—CentOS7安装kubernetes1.11.2图文完整版

转载请注明出处:kubernetes—CentOS7安装kubernetes1.11.2图文完整版 架构规划 k8s至少需要一个master和一个node才能组成一个可用集群。 本章我们搭建一个master节点和三个node节点。 我们在生产环境中使用时k8s时可以适当增加节点。 我们有三台服务器,ip和身份规划如下: 192.168.11.90 master node 192.168.11.91 node 192.168.11.92 node 192.168.11.90即作master节点又作node节点。 三台服务器都是CentOS7系统。 注意:Kubernetes 几乎所有的安装组件和 Docker 镜像都放在 goolge

Uncategorized

Linux系统通过fail2ban对暴力破解进行防护

摘要: 暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名、密码),尝试所有的可能性破解用户的账户名、密码等敏感信息。攻击者会经常使用自动化脚本工具组合出正确的用户名和密码。 针对这种攻击除了常规性的调整服务器的设置账号密码的复杂度,以及调整默认端口外等方式提升攻击难度外,还可以通过开源工具fail2ban来进行设置防护规则来提高防护能力。 暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名、密码),尝试所有的可能性破解用户的账户名、密码等敏感信息。攻击者会经常使用自动化脚本工具组合出正确的用户名和密码。 针对这种攻击除了常规性的调整服务器的设置账号密码的复杂度,以及调整默认端口外等方式提升攻击难度外,还可以通过开源工具fail2ban来进行设置防护规则来提高防护能力。 首先简单说一下服务器的基础防护设置 1、密码要满足复杂性要求 a.密码长度要求8位以上,最好是14位以上 b.密码要求至少包含大小写字母、数字和特殊符号四种字符中的三种以上 2、修改ssh程序默认的远程端口号 这一点可以通过调整 /etc/ssh/sshd_config 文件中的Port 参数来实现 修改了端口号之后远程工具进行连接时需要指定端口号才可以正常连接,通过ssh命令连接时需要通过-p参数指定端口号 3、修改默认的管理员账号 a.先对默认的root账号进行禁用(注意:阿里云控制台上的密码重置功能只对默认的root账号生效,如果做了此操作后后期是不能使用阿里云控制台的密码重置功能的),禁用方法直接修改root用户的登陆shell为 /sbin/nologin 即可。 b.创建新的用户名,作为管理员账号,Linux系统判定管理员账号的方法是可以通过UID实现的,默认UID为0的用户是管理员,所以只需要创建用户后,在passwd文件中把用户UID改为0即可 创建用户,并设置密码,以及最终的修改效果,可以参考下图,通过id命令查询结果可以看到新建的用户权限是root权限

Uncategorized

经验分享之在CentOS 7上搭建SVN服务器

安装步骤 这一系列的操作将在软件Xshell中进行。 1、下载安装SVN版本  yum install subversion 2、查看安装版本  svnserve –version 3、创建SVN版本库目录  mkdir -p /var/svn/svnrepos 4、创建版本库  svnadmin create /var/svn/svnrepos 执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件:conf db format

Uncategorized

CentOS 7 安装中文字体

JAVA画图时常用到Font 类对象 这样的对象依赖于本地的字段。新装的linux没有安装字段库,和相应的字体。 1、fc-list 查看字体库 发现没有安装 2、yum -y install fontconfig 安装 3、安装好后/usr/share目录下多两个目录 fonts 和 fontconfig 4、首先在 /usr/share/fonts 目录下新建一个目录 chinese 5、到C:\Windows\Fonts目录下上传你需要的字体到

Uncategorized

java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结

常见配置举例  堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制.32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制.我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m. 典型设置: java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -Xmx3550m:设置JVM最大可用内存为3550M. -Xms3550m:设置JVM促使内存为3550m.此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存. -Xmn2g:设置年轻代大小为2G.整个堆大小=年轻代大小 + 年老代大小 +

Uncategorized

JVM内存设置多大合适?Xmx和Xmn如何设置?

问题: 新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢?   分析: 依据的原则是根据Java Performance里面的推荐公式来进行设置。   具体来讲: Java整个堆大小设置,Xmx 和 Xms设置为老年代存活对象的3-4倍,即FullGC之后的老年代内存占用的3-4倍 永久代 PermSize和MaxPermSize设置为老年代存活对象的1.2-1.5倍。 年轻代Xmn的设置为老年代存活对象的1-1.5倍。 老年代的内存大小设置为老年代存活对象的2-3倍。   BTW:    

Uncategorized

QEMU/KVM虚拟机安装配置

1、安装相关组件:   [root@KVM ~]# yum install qemu-img qemu-kvm qemu-kvm-tools virt-manager virt-viewer virt-v2v virt-top libvirt libvirt-python libvirt-client python-virtinst bridge-utils tunctl 相当于如下命令:

Scroll to Top