服务器运维
文章平均质量分 62
互联网行者
工作较忙,如果博客上文章对你有帮助但有疑问,不能及时的回复请抱歉,大家可以给我留言
展开
-
Linux进程的程序内存分析
正如我们在Linux内存管理中所介绍的那样,并不是每块虚拟内存都有对应的物理内存,可能对应的数据在磁盘上的一个文件中,或者交换空间上的一块区域里。在实际的工作过程中,其实我们更关心的是RSS用了多少,都被谁用了,简单点说,如果我们没有同时启动多个进程(同一个程序),RSS就是一个很好的实际物理内存使用参考值,但如果是像apache那样同时跑很多个进程,那么RSS减去SHR所占用的空间就是一个很好的实际物理内存占用参考值,当然这都是大概估算值。关于程序的数据段和bss段的介绍请参考elf的相关资料。原创 2022-11-17 09:28:30 · 1193 阅读 · 0 评论 -
了解Linux内存管理
在linux下,使用top,vmstat,free等命令查看系统或者进程的内存使用情况时,经常看到buff/cache memeory,swap,avail Mem等,他们都代表什么意思呢?这篇文章将来聊一聊Linux下的内存管理并解答这个问题。Linux下的内存管理其实就是讨论Linux下虚拟内存的实现方式,在早些时候,物理内存比较有限,人们希望程序可以使用的内存空间能超过实际物理内存,于是出现了虚拟内存的概念,不过随着时间的推移,虚拟内存的意义已经远远的超过了最初的想法。虚拟内存虚拟内存是Linux管原创 2022-11-16 18:04:26 · 1248 阅读 · 0 评论 -
rm: 无法删除“.user.ini“: 不允许的操作
安装宝塔后进行卸载遗留资源无法删除卸载宝塔后,在/www/wwwroot/下遗留几个文件,比如.user.ini无法删除。尝试修改拥有者为root也同样无法修改,修改chmod进行权限变更也无法进行修改,主要文件被锁住,所以需要先解锁具体命令如下:chattr -i /www/wwwroot/.user.ini 然后使用chmod修改权限。...原创 2022-04-13 17:20:34 · 1403 阅读 · 0 评论 -
安装chocolatey和meteor
安装chocolatey这个现在比较难安装,官网上的仓库地址也不可用,最后用官网的指导手册安装,在本地自己搭建nuget仓库解决。指导地址:https://chocolatey.org/install下载安装包https://community.chocolatey.org/api/v2/package/chocolatey,到本地。然后在nexus创建nuget(hosted)仓库,然后把下载的包上传到仓库中。把官网的脚步复制过来保存到本地。# Download and install Choc原创 2022-03-24 20:28:25 · 1902 阅读 · 0 评论 -
linux下TCP服务器最大连接数提高
1、修改用户进程可打开文件数限制 在Linux平台上,在进行高并发TCP连接处理时,最高的连接数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄, 每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:ulimit -n这表示当前用户的每个进程最多允许同时打开100000个文件,这100000个文件中还得除去每个进程必然打开的标准输入,标准输出,标准错误,服务器监听 soc...原创 2021-01-07 17:16:01 · 720 阅读 · 0 评论 -
阿里云ECS出现df\du命令无法响应
最近阿里云ECS服务器出现部署docker程序无响应,在出现问题的机器上使用df,du相关的无法正常工作。咨询阿里云回复:以之前的案例来看,proc-sys-fs-binfmt_misc.mount状态异常,引起df、du或者lsof读取已经不可用的挂载点,导致无响应的情况存在。目前怀疑是docker有关系,因为只有部署docker程序会发生Mount、umount行为,可能导致此类问题。目前还没有100%确认,有此类问题能有明确结论的,谢谢在评论说下。如碰到此类问题,那就重新机器所有恢复正常,出现此类原创 2020-11-30 17:08:26 · 454 阅读 · 0 评论 -
kubeneters安装遇到问题集锦
1、安装好后,出现controller-manager Unhealthy Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused scheduler Unhealthy Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection ...原创 2020-09-24 11:25:23 · 209 阅读 · 0 评论 -
kubeneters安装之cni网络插件安装kube-ovn
初始化安装好kubeneters,出现cni未配置,在/opt文件夹有cni文件夹,但/etc/cni没有。说明cni插件未安装。因为本地确实没有安装CNI插件,目前网上看到有个基于ovs的网络插件,地址https://github.com/alauda/kube-ovn。安装这个插件时候也遇到不少坑。开始是用的最新版本的一键安装去操作,结果出现ovn-pinger pod无法启动。后来下载了release版本,但是也出现pod启动失败。所以这些最好进入kube-ovn开源交流群,相对这块文档稳定性没有这么原创 2020-09-25 11:27:32 · 770 阅读 · 0 评论 -
kubeneters安装遇到gcr.io镜像仓库无法拉取解决
在进行使用kubeadm创建k8s集群时候,由于国内网络受限导致默认基础镜像无法下载。我们可以在初始化时候指定国内镜像,目前阿里云上有可以执行如下命令:kubeadm init --kubernetes-version=1.19.2 --apiserver-advertise-address=10.192.8.160 --image-repository registry.aliyuncs.com/google_containers...原创 2020-09-21 14:57:26 · 644 阅读 · 0 评论 -
kubeneter1.7版本完整详细安装步骤
使用kubeadm安装kuberneters1.17.3 # 系统环境准备 使用3台centos7.2操作系统,机器分别角色是master,worknode,worknode 1、设置主机名 hostnamectl set-hostname master 2、编辑修改/etc/hosts cat <<EOF >>/etc/hosts 10.10.10.1 master...原创 2020-09-16 20:15:31 · 1319 阅读 · 0 评论 -
nodejs进程打开文件数目过大
最近在检查nodejs websocket内存泄漏问题时候发现,打开文件数目过大有100多个,之前以为文件夹是磁盘文件打开,实际这个监控指标不仅仅是文件IO打开,而且还包含网络IO打开,比如socket连接也算。这个可以依靠linux命令lsof查看,具体命令用法如下:1.列出所有打开的文件:lsof备注: 如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位2.查看谁正在使用某个文件lsof /filepath/file3.递归查看某个目录的文件信息ls..原创 2020-09-03 10:06:28 · 541 阅读 · 0 评论 -
生产环境不重新编译nginx添加lua插件模块收集resp日志
最近为了查app问题,生产环境上app不打开日志,所以只能靠服务器查接口问题,服务器上的接口有nginx的request请求日志。在nginx上配置了 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent $request_body "$http_referer" '原创 2020-08-07 14:29:48 · 1101 阅读 · 0 评论 -
阿里云硬盘100%排查分析
某天上午收到硬盘超过预警值,为了快速查看文件情况有两种方法du -h --max-depth=1,一层一层的查找,看到最大文件为止。还有一种更方便的是find . -type f -size +100M,寻找大文件,但需要你指定大小。找到后直接删除,但是删除后碰到使用df还是显示100%使用,这个是因为文件句柄没有关闭。查找相应进程使用kill -9杀掉就恢复了。...原创 2020-07-30 11:02:14 · 780 阅读 · 0 评论 -
redis5.0安装制作开机启动脚步
下载地址http://download.redis.io/releases可以选择各个版本。下载好后进行解压tar -zxvfredis-5.0.8.tar.gztar xzf redis-5.0.8.tar.gz对redis.conf进行配置,之后进行./src/redis-server redis.conf启动。默认不开外访问和没有密码验证。去掉requirepass 注释,增...原创 2020-05-06 18:59:50 · 172 阅读 · 0 评论 -
kubeneters发生故障时候对etcd进行灾难备份恢复
参考文章The Ultimate Guide to Disaster Recovery for Your Kubernetes Clustershttps://medium.com/velotio-perspectives/the-ultimate-guide-to-disaster-recovery-for-your-kubernetes-clusters-94143fcc8c1e...原创 2020-04-29 08:51:56 · 312 阅读 · 1 评论 -
kubeneters之映射外部服务
最近在部署mysql时候,由于数据库容器部署效果不好,改用原生态安装。但又不想改变配置文件的服务名连接方式。最后使用k8s的映射外部服务方式解决了。这样外部服务就能像集群内部同样对接。具体创建方式如下:kind: ServiceapiVersion: v1metadata: name: clw-mysqlSpec: type: ClusterIPports:– p...原创 2020-04-24 12:50:11 · 248 阅读 · 0 评论 -
kubeneters安装之kubeadmtoken失效
最近安装集群被破坏了,但是master正常。之前kubeadm join的token看不到了,如果有的可以通过kubeadm token list查看。没有可以kubeadm create token --ttl=0 (有效期永久,默认是一天)接下来加入集群还需一个参数是--discovery-token-ca-cert-hash 这个是如下命令获取openssl x509 -pub...原创 2020-04-22 17:26:41 · 644 阅读 · 0 评论 -
helm安装kubeneters ingress出现命令出错排查
在使用安装kubeneters ingress时候我们要注意几个问题,就是第一个就是yaml的镜像一定要查看,因为有些镜像是访问不了的,比如k8s.grc.io,还有些镜像的版本号已经不存在了。修改好这个我们可以直接把chart 下载本地 使用helm install --name test --namespace kube-system .,执行后出现了service名字不规范,要排查的话需要执...原创 2020-04-17 14:20:41 · 486 阅读 · 0 评论 -
provided port is not in the valid range. The range of valid ports is 30000-32767
k8s集群默认端口是在30000-32767,我可以通过修改kube-apiserver来修改,apiserver文件路径在/etc/kubernetes/manifests/kube-apiserver.yaml,如果不知道路径在那,可以通过ps -ef |grep kube-apiserver,这里就会有启动时候指定的文件路径。编辑文件增加一行--service-node-port-ran...原创 2020-04-16 16:28:15 · 5118 阅读 · 0 评论 -
kubeneters之nfs share出现MountVolume.SetUp failed for volume pvc失败
使用nfs作为k8s持久化存储,安装好helm后可以,可以到https://github.com/watchworld/external-storage,安装要求执行helm install stable/nfs-client-provisioner --set nfs.server=10.10.0.10--set nfs.path=/nfs/path安装后可能出现如下问题信息War...原创 2020-04-15 15:56:40 · 5317 阅读 · 0 评论 -
kubeneters之helm安装
首先下载helm下载地址https://github.com/helm/helm/releases,这个下载比较慢,建议使用迅雷之类的下载工具。下载 tar -zxvf file 解压好后,mv helm /usr/local/bin/helm下面执行helm version,如果现实client 和 server版本就表示OK,如果是server tiller未找到,那需要执行helm...原创 2020-04-14 15:55:04 · 675 阅读 · 0 评论 -
rancher rke环境清理
#!/bin/bash#杀死所有正在运行的容器 docker kill $(docker ps -a -q)#删除所有容器 docker rm -f $(docker ps -qa)#删除所有容器卷 docker volume rm $(docker volume ls -q)#卸载mount目录 for mount in $(mount | grep tmpfs...原创 2020-04-08 09:46:38 · 2437 阅读 · 0 评论 -
ftp客户端连接云主机出现Permission denied
这个不是权限的问题,是因为端口没有开放。云主机的防火墙的安全组要打开端口。ftp服务器要因为在Nat route之后所以要使用被动模式,设置的端口号需要被防火墙放行。...原创 2020-02-25 22:15:16 · 733 阅读 · 0 评论 -
nginx DNS 解析缓存的导致访问出错报502问题
最近碰到一个问题就是nginx转发到另一个nginx使用域名不通报502,通过nginx的日志发现如下10.220.53.117 - - [18/Feb/2020:10:26:07 +0800] "POST /test/v1/api/f1HTTP/1.1" 502 173 "-" "okhttp/3.11.0" "-" 0.004 0.004 121.33.182.212:443 502...原创 2020-02-18 10:47:56 · 948 阅读 · 0 评论 -
VMware15下Ubuntu18.04无法自适应屏幕大小&&Ubuntu设置中文
操作步骤如下1、设置显示器屏幕2、进入系统安装open-vm-toolssudo apt-get install open-vm-toolssudo apt-get install open-vm-*3、reboot 重启系统ubuntu设置中文环境如果没有安装中文语言包,使用如下命令安装1、sudo apt-get install language-pa...原创 2020-01-31 13:54:23 · 1280 阅读 · 0 评论 -
centos下安装rancher cli(kubectl kubeadmin)
使用rancher网页版的控制台健壮性不强,想安装rancher cli本地化输入命令方式。在rancher右下角下载cli,下载好后使用tar -zxvf *.gz解压,解压后mv /path/rancherto /usr/bin/rancher。这样好处可以在其它地方都可以执行rancher命令行。如果没有安装kubectl,会提示你安装。安装方式使用yum方式,命令如下cat &l...原创 2020-01-21 18:03:58 · 446 阅读 · 0 评论 -
阿里云服务器的IE无法设置安全级别解决办法
最近有朋友请教新买的云服务器不能下载软件,浏览网页不能全部显示。后来看了下,是因为默认安全等级太高,选择IE的安全级别只有高,不能选择低。这个可以通过注册表修改来解决注册表地址可以看下面状态栏的信息...原创 2020-01-15 23:14:29 · 991 阅读 · 0 评论 -
tomcat错误This is very likely to create a memory leak
现象:最近时间出现了两次tomcat无法响应,重启就恢复正常。经查看日志,有几处可疑点。下面是查找此问题用到的工具和方法和大家共享。阿里云centos目前安装的是openjdk,先执行whereis java查看目录,找到bin文件java.exe同个目录发现没有,安装openjdk-devel执行yum install java-1.7.0-openjdk-devel,安装...原创 2019-12-17 19:00:50 · 1872 阅读 · 0 评论 -
阿里云上在tomcat服务器上部署证书
在tomcat服务器上部署证书,出现tomcat无法访问,以为是https证书缘故,因为之前用证书的时候检测,检测通不过。执行shutdown.sh发现无法连接8005端口。感觉很奇怪,重启启动startup.sh,使用netstat -ntlp查看使用端口列表,发现没有8005,后来查阅资料发现原来是随机数问题,因为在阿里云centos7默认是openjdk,一般路径在/usr/lib/jvm/...原创 2018-05-23 16:18:17 · 422 阅读 · 0 评论 -
Centos7 下 Nagios 的安装
Centos7 下 Nagios 的安装 yum install httpd phpyum install gcc glibc glibc-common unzipyum install gd gd-devel1 创建系统用户创建 nagios 用户并设置密码/usr/sbin/useradd -m nagiospasswd nagios创建原创 2017-06-30 17:33:23 · 435 阅读 · 2 评论 -
centos下路由网络数据抓包
问题场景就是在做了gre隧道的两端,是用ping命令能通,但是ping对端的通网段地址不通。办法是寻找下网络数据包在那一条路由地址下不通。使用工具是tcpdump在centos下面安装yum install tcmdumptcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C file_...原创 2019-07-25 15:03:03 · 600 阅读 · 0 评论 -
nginx并发优化路线
网上有一张图是关于Nginx的优化路线大家可以参考这张图从socket和文件方向去优化nginx从centos系统方向修改参数如下echo 50000 > /proc/sys/net/core/somaxconn --- 打开的最大文件的数目echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle --- 加快tcp连接的回收ech...原创 2019-07-11 20:07:26 · 155 阅读 · 0 评论 -
centos空间满了,查看目前空间大小
整个硬盘结构命令df分析目前空间大小du -sh /dirname原创 2017-11-22 09:50:05 · 1666 阅读 · 0 评论 -
Vim常用命令合集
命令历史以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。启动vim在命令行窗口中输入以下命令即可vim 直接启动vimvim filename 打开vim并创建名为filename的文件文件命令打开单个文件vim file同时打开多个文件vim file1 file2 file3 ...原创 2017-08-29 16:36:27 · 366 阅读 · 0 评论 -
centos7 防火墙使用详解
centos7之前使用时iptables到了centos7使用的是firewall,按照此防火墙命令yum install firewalld firewalld-config启动firewall防火墙服务 systemctl start firewalld 重启防火墙firewall-cmd --reload查看firewall当前状态syst原创 2017-08-17 19:30:46 · 477 阅读 · 0 评论 -
windows网络共享访问centos samba服务端出现权限问题不能访问解决
samba访问出现这个问题,一般是因为防火墙缘故。centos7除了firewalld,还有selinux需要设置//If you want to share files other than home directorie chcon -t samba_share_t /directory//If you want to share files with multiple原创 2017-08-28 18:41:52 · 3916 阅读 · 0 评论 -
图解汽车各部位的名称大全
原创 2017-09-05 14:03:18 · 16362 阅读 · 0 评论 -
Inno Setup 版本 5.5.6 简体中文语言包
; *** Inno Setup 版本 5.5.6 简体中文消息 ***[LangOptions]LanguageName=LanguageID=$0804LanguageCodePage=936; 下列条目用来定义安装程序界面的字体和大小。DialogFontName=宋体DialogFontSize=9WelcomeFontName=宋体WelcomeFon原创 2017-08-26 18:09:06 · 2008 阅读 · 0 评论 -
centos7安装chrome谷歌浏览器
wget http://chrome.richardlloyd.org.uk/install_chrome.shchmod u+x install_chrome.sh ./install_chrome.sh -s(stable稳定版本)启动chrome google-chrome or ./install_chrome.sh更新chrome yum update google-ch原创 2017-01-21 10:58:07 · 2240 阅读 · 0 评论 -
windows下添加类似ubuntu,centos下的右键CMD快捷菜单
在windows下工作,有时需要cmd命令。但是每次都要从CTRL+R,CD命令到文件。如果有类似linux系统那种到文件下面就能直接右键点击出现就方便多了。现在来添加。CTR+R 输入regedit在folder下面新建shell下新建cmd项目,项目修改如下在folder下面新建shell下cmd下新建command项目,项目修改如下原创 2017-04-16 12:24:47 · 547 阅读 · 0 评论