Systemd 入门教程:命令篇

作者: 阮一峰 日期: 2016年3月 7日 Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。 本文介绍它的基本用法,分为上下两篇。今天介绍它的主要命令,下一篇介绍如何用于实战。 一、由来 历史上,Linux 的启动一直采用init进程。 下面的命令用来启动服务。 $ sudo /etc/init.d/apache2 start # 或者 $ service apache2 start 这种方法有两个缺点。 一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。 二是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。 二、Systemd 概述 Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。 根据…

Continue ReadingSystemd 入门教程:命令篇

Centos安装supervisor,守护Redis进程

前言   基于业务问题,项目中增加了redis,用于缓存和队列。但是现在只是在单服务器上安装部署,没有购买其他的像阿里云式的服务, 也没有搭建主从。   这样就导致了问题,如果redis进程意外卡死,那么业务就无法进行,这是不允许的,所以想到进程守护的东西,能自动监听,就想到了supervisor。  supervisor是一个客户机/服务器系统,它允许用户监视和控制unix操作系统上的许多进程。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。supervisort官网 1.安装supervisor sudo su - #切换为root用户 yum install epel-release yum install -y supervisor systemctl enable supervisord # 开机自启动 systemctl start supervisord # 启动supervisord服务 systemctl status supervisord #…

Continue ReadingCentos安装supervisor,守护Redis进程

配置wildfly10为linux的服务,并开机启动

正文 1.在opt路径下 下载 wildfly ,并解压下载下的压缩包 cd /opt sudo wget -c http://download.jboss.org/wildfly/10.0.0.Final/wildfly-10.0.0.Final.tar.gz sudo tar -xzvf wildfly-10.0.0.Final.tar.gz 2.创建wildfly 的用户 和 组 sudo addgroup wildfly sudo useradd -g wildfly wildfly 3.改变wildfly 的文件夹权限 sudo…

Continue Reading配置wildfly10为linux的服务,并开机启动

Error: rpmdb open failed

1、在centos系统上,在使用yum命令安装软件包时候报错:[root@srv213 yum.repos.d]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpmerror: db5 error(11) from dbenv->open: Resource temporarily unavailableerror: cannot open Packages index using db5 - Resource temporarily unavailable (11)error: cannot open Packages database in /var/lib/rpmCRITICAL:yum.main: Error: rpmdb…

Continue ReadingError: rpmdb open failed

做为一名优秀的后端工程师-兼公司网管,这些 Linux 指令需要了解下

前言 本文收录了 linux 常用指令,这里面有个小技巧,基本上所有指令后面跟上 --h 可以显示其使用方法。故不必死记硬背,知其意乃通其形。 分类如下: 文件 & 目录操作(16 个)查看文件 & 内容处理(18 个)文件压缩 & 解压缩(3 个)信息显示(11 个)搜索文件(4 个)进程管理(11 个)用户管理(7 个)网络操作(11 个)磁盘 & 文件系统(7 个)系统权限(3 个)关机重启(5 个)其他(6 个) 文件 &…

Continue Reading做为一名优秀的后端工程师-兼公司网管,这些 Linux 指令需要了解下

Linux下tomcat JVM内存 配置

常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space 一、java.lang.OutOfMemoryError: PermGen space PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。解决方法: 手动设置MaxPermSize大小建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。 二、java.lang.OutOfMemoryError: Java heap space JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64 ,最大空间(-Xmx)是物理内存的1/4 。可以利用JVM提供的-Xmn -Xms…

Continue ReadingLinux下tomcat JVM内存 配置

配置tomcat服务器内存大小中的Xms、Xmx、PermSize、MaxPermSize 详解

JVM按照其存储数据的内容将所需内存分配为堆区与非堆区两个部分: 所谓堆区即为通过new的方式创建的对象(类实例)所占用的内存空间, 堆是运行时数据区域; 非堆区即为代码、常量、外部访问(如文件访问流所占资源)等。 配置堆区的(-Xms 、-Xmx、-XX:newSize、-XX:MaxnewSize、-Xmn) 配置非堆区(-XX:PermSize、-XX:MaxPermSize) 一. 堆区配置参数:     1、-Xms :表示java虚拟机堆区内存初始内存分配的大小,虚拟机在启动时向系统申请的内存的大小   2、-Xmx: 表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。但是开发过程中,通常会将 -Xms 与 -Xmx两个参数的配置相同的值,其目的是为了能够在java垃圾回收机制清理完堆区后不需要重新分隔计算堆区的大小而浪费资源。 如果虚拟机启动时设置使用的内存比较小而在这种情况下有许多对象进行初始化,虚拟机就必须重复地增加内存来满足使用。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的大小。而堆的最大值受限于系统使用的物理内存。一般使用数据量较大的应用程序会使用持久对象,内存使用有可能迅速地增长。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。 说明:如果-Xmx 不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM,不是Throwable的,无法用try...catch捕捉。     -XX:newSize、-XX:MaxnewSize、-Xmn:新生代、中生代、老生代。java中每新new一个对象所占用的内存空间就是新生代的空间,当java垃圾回收机制对堆区进行资源回收后,那些新生代中没有被回收的资源将被转移到中生代,中生代的被转移到老生代。     1、-XX:newSize:表示新生代初始内存的大小,应该小于 -Xms的值;     2、-XX:MaxnewSize:表示新生代可被分配的内存的最大上限;当然这个值应该小于 -Xmx的值;…

Continue Reading配置tomcat服务器内存大小中的Xms、Xmx、PermSize、MaxPermSize 详解

PVE Proxmox Tips

PVE Proxmox is Linux + KVM (or LXC) virtualization. It is freely available from: https://www.proxmox.com/en/downloads Tested version: pveversion pve-manager/5.1-41/0b958203 (running kernel: 4.13.13-2-pve) Notable highlights: HTML5/js web client - works from…

Continue ReadingPVE Proxmox Tips

解决 failed to create bus connection no such file or directory 错误

今天在修改 hostname 使用 sudo hostnamectl set-hostname ds 命令时遇到问题: Failed to create bus connection: No such file or directory 查了一通之后发现缺少 dbus sudo apt-get install dbus 安装 dbus 然后再修改即可,使用 hostnamectl 方式来修改 hostname…

Continue Reading解决 failed to create bus connection no such file or directory 错误