交换分区swap,意思是“交换”、“实物交易”,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。 查看 已存在的swap分区:
1 2 3 4 5 |
[root@iZ94hzx4xerZ bin]# swapon -s Filename Type Size Used Priority /mnt/swap file 10232 10184 -1 |
创建用于交换分区的文件:
1 2 3 4 5 6 7 |
[root@iZ94hzx4xerZ bin]# dd if=/dev/zero of=/mnt/swap bs=1024 count=10240 10240+0 records in 10240+0 records out 10485760 bytes (10 MB) copied, 0.237175 s, 44.2 MB/s |
bs=1024 指的是创建swap分区的初始大小,count指的是swap最大空间,推荐设置为内存的1-2倍。 设置交换分区文件:
1 2 3 4 5 6 7 8 9 |
[root@iZ94hzx4xerZ mnt]# mkswap /mnt/swap mkswap: /mnt/swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 2044 KiB no label, UUID=e6f0ae06-0e6b-4fce-8c18-d5a247b40259 |
立即启用交换分区文件:
1 |
[root@iZ94hzx4xerZ mnt]# swapon /mnt/swap |
设置开机时自启用swap分区: 需要修改文件/etc/fstab中的swap行。 添加 /mnt/swap swap swap defaults 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# # /etc/fstab # Created by anaconda on Thu Aug 14 21:16:42 2014 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=94e4e384-0ace-437f-bc96-057dd64f42ee / ext4 defaults,barrier=0 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /mnt/swap swap swap defaults 0 0 |
设置后可以执行free -m命令或者top查看效果:
1 2 3 4 5 6 7 8 9 10 11 |
[root@iZ94hzx4xerZ bin]# top top - 20:33:11 up 4:53, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 104 total, 1 running, 88 sleeping, 15 stopped, 0 zombie Cpu(s): 0.3%us, 0.2%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1920740k total, 1845096k used, 75644k free, 38716k buffers Swap: 10232k total, 10184k used, 48k free, 260692k cached |
删除swap分区:
1 |
[root@iZ94hzx4xerZ bin]# swapon /mnt/swap |
from:https://www.laike.net/article-52-117134-0.html
View Detailskswapd0 CPU占用率过高问题 解决方法:
1 2 3 4 5 6 7 8 |
top P #直接输入大写p #查看排在第一位的kswapd进程 cd /proc/进程id ls -l exe #查看软链真实目录 cd /var/tmp/..../.nva/ #进入软链真实目录 rm -rf * #删除软链目录下所有文件 kill -9 进程id |
kswapd是linux中用于页面回收的内核线程。页面回收,并不是回收得越多越好,而是力求达到一种balanced。因为页面回收总是以cache丢弃、内存swap、等为代价的,对系统性能会有一定程度的影响。 原因:kswapd0 占用过高也是物理内存不足所引起的 kswapd0 占用过高是因为 物理内存不足,使用swap分区与内存换页操作交换数据,导致CPU占用过高。swap分区的作用是当物理内存不足时,会将一部分硬盘当做虚拟内存来使用。 可以通过修改/proc/sys/vm/swappiness(也可以用find查找这个文件)里面的数值来修改swap分区使用与否,默认 60,数值越大表示更多的使用swap分区 swap 分区和内存都有缓存区,缓存的内容为之前使用过的数据,用于加快第二次打开时访问速度。 swap分区可以使用多个交换区(使用多硬盘?) 来加快swap访问速度 swap 分区使用的为硬盘的内容,速度比直接访问内存慢几千倍 拓展: Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。 Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。 通俗点就是 cache是高速缓存,用于CPU和内存之间的缓冲; buffer是I/O缓存,用于内存和硬盘的缓冲 from:https://blog.csdn.net/weixin_45546960/article/details/124266481
View Details新安装的一台云服务器, 执行yum命令出现了错误, One of the configured repositories failed (Unknown), 最后是Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again 。完整的错误信息是: 这里重点是最后一行 for repository: epel/x86_64. 说明是这个仓储出了问题。 解决办法1 删除这个仓库
1 |
rm -f mv /etc/yum.repos.d/epel.repo |
这样执行yum命令就可以正确的执行。不过少了 epel 仓库好多软件包不能用。 这里介绍 第二种解决方法 查看了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
cat /etc/yum.repos.d/epel.repo [epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=1 |
然后测试了一下网络
1 2 3 4 |
[root@lampfree.com ~]# ping download.fedoraproject.org ping: download.fedoraproject.org: Name or service not known [root@lampfree.com ~]# ping mirrors.fedoraproject.org ping: mirrors.fedoraproject.org: Name or service not known |
发现网络不通,这里就需要解决网络问题。 修改dns cat /etc/resolv.conf
1 2 |
nameserver 8.8.8.8 nameserver 8.8.4.4 |
from:https://blog.csdn.net/b_o_n_z_t_f/article/details/121195667
View Details一. 问题现象
ping公网域名失败,提示Name or service not known,但可以ping通弹性公网IP。
二. 问题根因
出现该问题通常有三个原因:
/etc/resolv.conf未配置DNS地址或者DNS地址错误导致。
/etc/nsswitch.conf文件删除DNS解析记录导致。
/lib64/libnss_dns.so.2库文件丢失导致无法解析域名。
操作系统:CentOS7 MySQL Server : v5.7.28 MySQL Client : MariaDB-client-10.5.8-1.el7.centos.x86_64 操作用户:root 起因:客户给了台centos7程序服务器,着急部署个MySQL客户端工具连接远程数据库用。MySQL网站打不开。SELECT @@version 查了下客户MySQL数据库版本:5.7.28-log。MariaDB和MySQL兼容,于是我打开了MariaDB官网,看看MariaDB有没有提供客户端连接工具。MariaDB官网打开速度优秀。 官网提供了安装教程: 滚动到MariaDB Repositories下,看到Repository Configuration tool有源配置工具,选择操作系统发行版、MariaDB最新版本10.5、自动选择国内镜像如图,配置完成下面会自动生成源存储库配置内容。 在/etc/yum.repos.d 下新建MariaDB.repo文件,保存以下内容
1 2 3 4 5 |
[mariadb] 名称= MariaDB baseurl = https://mirrors.nju.edu.cn/mariadb/yum/10.5/centos7-amd64 gpgkey = https://mirrors.nju.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck = 1 |
执行安装客户端工具,这里不安装服务端,只安装客户端 # yum install -y MariaDB-client 查看安装路径 # which mysql 连接远程MySQL服务器 # mysql -h [hostname/ip] -u [username] -P [3306] -p 输入密码 连接成功! 参考: https://mariadb.org/download/ from:https://blog.csdn.net/haohaifeng002/article/details/112239758
View Detailscurl -v http://localhost:8080/JsonSendSms -d '{"mobile":"100000000000","password":"111111111","smsID":"12345678999","smscontent":"this is a test2"}' -X POST -H "Content-Type: application/json" -k
View Details转载自:https://blog.csdn.net/youzhouliu/article/details/51183115 openjdk在linux各个平台下安装源中可以找到。 命令查找安装源中有什么版本:
1 |
yum search java | grep -i --color JDK |
此处只需要安装jdk1.8,所以安装包命令如下
1 |
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel #安装openjdk |
默认安装位置:/usr/lib/jvm/
1 2 3 4 5 |
vim ~/.bashrc export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=.:$JAVA_HOME/bin:$PATH source ~/.bashrc |
from:https://www.cnblogs.com/javalinux/p/15883849.html
View Details无法执行SCP开始传输。请确认SCP安装在服务器并且它的路径包括在PATH中。你也可以尝试SFTP代替SCP。
命令失败并返回127
用root账户安装openssh-clients即可解决该问题
View Details对于生产环境以及一个有追求的运维人员来说,哪怕是毫秒级别的宕机也是不能容忍的。对基础设施及应用进行适当的日志记录和监控非常有助于解决问题,还可以帮助优化成本和资源,以及帮助检测以后可能会发生的一些问题。
Loki 是受Prometheus启发的水平可扩展、高可用、多租户日志聚合系统。它的设计非常具有成本效益且易于操作。它不索引日志的内容,而是索引每个日志流的一组标签。