前言 安装好 VMWare 软件 下载好 Cemtos7 系统镜像 过程 点击文件右键创建虚拟机 选择自定义安装 选择稍后安装操作系统 选择Linux 以及 你下载的镜像对应的版本 如下图 如下图 虚拟磁盘拆分单个或多个的优缺点: (1)单个文件的优点是在磁盘相对稳定时,其访问速度相对会快一点,但是如果虚拟磁盘增容长很快,或容量变化很大,可能会产生大量碎片,性能下降会很明显。另一个缺点是如果单文件受损,相当于整个磁盘丢失,代价较大。 (2)多个文件的处理方法的优点正是克服单文件的缺点,不过多文件的缺点在于
Redis单线程 Reids是单线程! Reids是单线程! Reids是单线程! Redis架构模型:Redis 基于 Reactor 模式来设计开发了自己的一套高效的事件处理模型 , 即文件事件处理器 文件事件处理器(file event handler) 主要是包含 4 个部分: 多个 socket(客户端连接) IO 多路复用程序(支持多个客户端连接的关键) 文件事件分派器(将 socket 关联到相应的事件处理器) 事件处理器(连接应答处理器、命令请求处理器、命令回复处理器) IO 多路复用程序
一、多线程与多进程的对比 在之前简单的提过,CPython中的GIL使得同一时刻只能有一个线程运行,即并发执行。并且即使是多核CPU,GIL使得同一个进程中的多个线程也无法映射到多个CPU上运行,这么做最初是为了安全着想,慢慢的也成为了限制CPython性能的问题。 一个线程想要执行,就必须得到GIL,否则就不能拿到CPU资源。但是也不是说一个线程在拿到CPU资源后就一劳永逸,在执行的过程中GIL可能会释放并被其他线程获取,所以说其它的线程会与本线程竞争CPU资源,线程是抢占式执行的。具体可在 under
经常被问及 进程, 线程, 协程之间的问题。今天在这里总结一下。 文章目录 多任务的概念 并发 & 并行 进程 线程 协程(Coroutine) 协程和线程差异 进程-线程-协程 使用场景 GIL锁 多线程能够实现并发吗? 死锁 线程池的优点: Python库 多任务的概念 简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。 并发
在grub界面,按e,加 console=tty0 systemd.unit=rescue.target 查看更多开机信息,把 rhgb splash quiet 去掉。
使用版本:Centos6.5 救援模式有什么作用: ◆可以更改root密码; ◆恢复硬盘、文件系统操作; ◆系统启动不来的时候,只能通过救援模式来启动; 救援模式启动的步骤如下: 1、首先开机进入BIOS设置(每台电脑进入bios的方法不同根据自己的电脑进入),BOOT启动顺序为 光盘优先启动 CD-ROM Drive 使用小键盘的+ -号调整上下顺序;设置好后保存并退出。 2、重启系统后进入安装启动菜单,上下键移动到 Rescue install system 救援安装系统 ; 3、选择语言,保持默认
1、 默认的yum源没有提供pure-ftpd,所以需要先安装epel-release扩展源,然后使用yum命令安装pure-ftpd。 yum install epel-release yum install pure-ftpd 2、启动 pure-ftpd服务。 /usr/sbin/pure-config.pl /etc/pure-ftpd/pure-ftpd.conf 3、创建系统用户。 useradd -d /home/pure pure 4、创建虚拟用户,并设置密码。 pure-pw usera
进入紧急模式ermergence mode解决办法 情况说明 原因分析 解决办法 情况说明 最近常在服务器上更换硬件设备以及切换系统,在使用镜像安装完Ubuntu server系统后,进系统时首先在开机在此处等待了将近1分半中,之后进入了emergence mode 如果是 ubuntu desktop版的话,会卡在紫色的loge的界面,之后依然是进入emergence mode 原因分析 如果确认硬件设备没问题,硬盘分区正常,系统安装正常,就像此处我是刚安装好的镜像。则系统未成功启动,进入到紧急模式90
救援模式即 rescue 模式,这个模式主要应用于系统无法进入的情况,比如 grub 损坏或者某一个配置文件修改出错。 1. 光盘启动: 检查光驱是否是开机启动 进入光驱启动界面 让 CD-ROM 在最前面,然后按 F10 保存设置并退出 2. 进入 rescue 模式: 选择 Troubleshooting 选择 Rescue a CentOS Linux system 连续敲 2 次回车,出现如下界面 输入 1 ,回车后,再次回车,出现如下界面(初始系统已经挂载到了 /mnt/sysimage 下面
Ubuntu安装Xfce桌面后不能正常显示中文,因为系统没有自带中文字体。所以下载一个中文字体放到用户目录的.fonts文件夹下即可。 字库文件可以使用如微软雅黑。附上一个下载地址: http://vdisk.weibo.com/s/dyMSBGGpvaLxn
一、前言 有时候需要在Linux环境下进行开发,会通过安装虚拟机的方式使用Linux。如果不安装VMtool,虚拟机分辨率不方便设置,并且不能和宿主机之间进行复制粘贴,安装VMtool后虚拟机分辨率会自动随窗口大小变化,也可以直接右键进行复制粘贴。比如窗口是这样的: 二、软件环境 Vmware Workstation 12,Ubuntu 16.04 Desktop 三、流程 1、 在菜单的虚拟机菜单项下选择重新安装VMware Tools 2、 这时候虚拟机的光驱中会插入VMware Tools的安装光盘
在Linux中,当你想要改变一个文件名,使用mv命令就好了。然而mv不能使用通配符重命名多个文件。可以用sed、awk或者与xargs结合使用来处理多个文件的情况。然而,这些命令行即繁琐又不友好,并且如果不小心的话还很容易出错。你不会想要撤销1000个文件的错误名吧! 当你想要重命名多个文件的时候,rename 工具或许是最简单、最安全和最强大的命令行工具。这个rename命令实际上是一个Perl脚本,它预安装在所有的现在Linux发行版上。 下面是重命名命令的基本语法。 代码如下: rename [-v
一些后缀区分 现在PC平台流行的可执行文件格式(Executable),主要有以下两种格式(COFF(Common file format)格式的变种): Windows下的 PE (Portable Executable) Linux的 ELF (Executable Linkable Format) 可执行文件后缀: Windows的 .exe Linux的 .out 或 .o (ELF可执行文件),没有后缀,linux一般可以自动识别文件类型,只要设了执行权限,有elf文件头,就可以看成可执行文件
这是一个参数扩展,许多与${开始的一部分。 Like $ {parameter:-word},$ {parameter:= word},$ {parameter:?word},$ {parameter:+ word}等等。 这一个(专用于ksh,bash和zsh):${parameter:offset:length}从偏移处开始提取长度字符(可选,如果缺失,参数中字符串的其余部分)。随着bash手册中描述的几个细节。 ${name:offset:length} Substring Expansion. E
lib文件 一般来说,库文件有两种:动态库和静态库。 1.动态库 动态库(也叫共用库)是编译好的代码片段,在程序执行时由运行时连接文件(runtime linker)/lib/ld.so加载。这有点类似于windows下的dll文件。在提高效率方面,这样做可以节省系统在以下方面的开销: 硬件设备:不同的程序可以共享相同的代码。 内存:内核可以将库文件的拷贝存放在内存里以便进程之间共享。 时间:只要你不再重新编译库文件,重新生成可执行文件只需处理更少的代码。 习惯上,动态库以字符串so命名,后面加上版本号。
官方文档 https://assets.nagios.com/downloads/nagiosxi/docs/XI_Manual_Installation_Instructions.pdf 重要:安装在一个干净的,最小化的系统 (官方文档强烈建议!不要在已有的CentOS 系统上安装,因为整个安装包会自动下载和编译,安装相关软件) # yum update # yum wget vim # wget http://assets.nagios.com/downloads/nagiosxi/xi-latest
在VPS上面配置了某分布式服务,死活跑不起来,该配置的都配置了,真是见鬼了。日志里面很多: No route to host 但是,我能ping通,为了排除是程序自身原因,只好使用telnet命令测试是否能够连通。 yum update yum -y install telnet telnet x.x.x.x 1111 输出结果: Trying x.x.x.x... telnet: connect to address x.x.x.x: No route to host 解决方案: 以下命令已经执行了,端
一、简单的编译运行 【hello.c】: #include <stdio.h> void main() { printf ( "Hello Linux!\n" ); } 要编译这个程序,我们只要在命令行下执行: # gcc hello.c -o hello 之后生成一个名为hello的可执行文件, 输入命令 ./hello 可得到结果 gcc表示用的gcc编译源代码, -o选项表示要求编译器输出的可执行文件名为hello(若不用-o选项,那么会生成文件名为a.out的可执行文件
要使用 Apache Commons Net API 删除 FTP 服务器上的现有文件,可以调用 FTPClient 类的 deleteFile()方法: public boolean deleteFile(String pathname) throws IOException 该方法将向 FTP 服务器发出 DELE 命令 删除指定的远程文件。 如果成功删除返回 true,否则返回 false(即,该文件不存在或为目录)。 在发生异常的情况下,如果与服务器的连接已经关闭,将引发 FTPConnectio
今天,有什么经验需要分享呢?
立即撰写