ubuntu内存不足 ubuntu内存不足直接重启
电脑安装不了软件运行内存不足怎么办
由于最近一段时间正在学习作系统,老师给的软件需要在linux的环境下运行。鉴于自己超习惯了windows的图形界面,想装了一个虚拟机算了。又仔细考虑一下自己的装备还是不太精良,选择了装双系统。
ubuntu内存不足 ubuntu内存不足直接重启
ubuntu内存不足 ubuntu内存不足直接重启
我空出了d盘装下了ubuntu6.06这个作系统,当在重新进入windows时,我晕哦!!!出现了windows root32hal.dll丢失这个错误,完全进不了系统。
然后百度一下,出现同样的问题的人还真不少。本人十分讨厌使用的杀手锏——重装系统。促使本人耐心寻找解决办法。
出现问题的原因:这个是由于C盘这样,本来只有4G的内存,如果swap有2G的话,可使用的内存可以认为是6G。根目录下的boot.ini文件非法,导致默认从C:Windows启动,由于我的Windows XP没有安装在C盘,所以系统提示找不到HAL.DLL文件。启动因而失败。(我是安装Windows XP在f盘的)
解决方法是重新编辑Boot.ini文件。网上提供了好多办法。本人之一把Windows XP安装盘放入光驱,从光驱开始驱动。在DOS下输入Copy Con C:\boot.ini以后回车。然后按照Boot.ini文件的格式输入,每输入一行敲一次回车键,当全部内容输入完毕以后,按CTRL+Z,屏幕上会看到^Z的提示。这个时候再敲一次回车,系统会提示1 file(s) copied.这就表示创建成功了。开始我是在朋友的机器拷的hal.dll文件如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)windows
[opearating s]
multi(0)disk(0)rdisk(0)partition(1)windows="microsoft windows xp professional"
/noexecute=optin /fastdetect
也就是说需要一行一行的输入。
带着万分迫切的心情重新启动,结果连错误都不提示了。完全不能进系统了。
仔细分析了一下,错误出现在哪 ?哦 原来朋友的系统是安在c盘的,这么简单的问题却被我忽视了。由于d盘分给ubuntu6.06了,只剩下c ,e,f盘了,重复上一步奏。只是注意修改partition(1)为partition(3) 这代表root从f盘系统。结果问题顺利解决,真的蛮高兴的。
如果电脑配置不是太,可以加一条内存条。
你看一下是不是C盘不e extended够用了?
如果是的话,可以考虑换一个安装路径看看。
ubuntu如何修改php.ini
s create a new empty Sun disklabelubuntu修改php.ini的#3 Command (m for ): m // 键入m,可看到帮助信息方法:首先通过命令“cd /etc/php5/apache2”找到php.ini文件;然后找到“memory_limit”这个关键字;将值修改为“256M”即可。
:《PHP视频教程》
Ubuntu中php.ini修改运行内存
首先,我们要知道我们要修改的是什么文件?
那就是php.ini文件,一般php有关运行的文件都跟这个文件有关系,路径是 /etc/php5/apache2 。在这里我们就可以用命令进入,
cd /etc/php5/apache2然后输入:ls 你就可以看到php.ini文件。
sudo vim php.ini在这里,我们经常会遇到的问题就是运行内存不足,在这里我们就可以找到"memory_limit" 这个关键字,然后就可一对值进行修改,我一般的修改值为256M.
Linux - Swap
这个参数值可为 0-100,控制系统 swap 的使用程度。首先,swap是硬盘上的一块空间。
其次,当内存没有多余空间的时候,可以将一部分数据交换到swap空间。也就是将内存中的一部分数据放到硬盘中,并释放内存空间。这样,释放出的内存空间就又可以被利用来存储其他数据了。
但是,硬盘的速度比内存慢太多太多了。因此swap只是对内存的一种补充,是在内存不足时对内存的扩充,但是不能代替内存使用。
内存不足时, 作系统 会选择 最久没被使用的内存数据 ,交换到swap空间。
注意,交换作是由作系统来进行的。
系统在什么情况或条件下才会使用Swap分区的空间呢? 其实是Linux通过一个参数swappiness来控制的。当然还涉及到复杂的算法。
0告诉内核尽可能的不要将内存数据移到swap中,也即只有在迫不得已的情况下才这么做,而100告诉内核只要有可能,尽量的将内存中不常访问的数据移到swap中。默认值为 60。注意:这个只是一个权值,不是一个百分比值,涉及到系统内核复杂的算法
查看当前系统中swappiness的值
修改当前系统中swappiness的值
上面通过sysctl修改的swappiness值在系统重启后会失效,要想重启后继续生效,需要修改配置文件/etc/sysctl.conf,将下面这行修改成10,如果文件中找不到这行的话,在文件末位加上这行就可以了
Linux下有两种类型的swap空间,swap分区和swap文件,他们有各自的特点:
swap分区上面由于没有文件系统,所以相当于内核直接访问连续的磁盘空间,效率相对要高点,但由于swap分区一般安装系统时就分配好了了,后期要缩减空间和扩容都很不方便。
swap文件放在指定分区的文件系统里面,所以有可能受文件系统性能的影响,但据说2.6版本以后的内核可以直接访问swap文件对应的物理磁盘地址,相当于跳过了文件系统直接访问磁盘,不过如果swap文件在磁盘上的物理位置不连续时,还是会对性能产生不利影响,但其优点就是灵活,随时可以增加和移除swap文件。
如果配置有多个swap分区或者文件的话,这里将会有多行,每行代表一个正在被系统使用的swap分区或文件,下面是每个字段的意思:
并不是swap空间占用多就一定性能下降,真正影响性能是swap in和out的频率,频率越高,对系统的性能影响越大,我们可以通过vmstat命令来查看swap in/out的频率
在添加swap分区前,首查看某个进程swap占用内存大小脚本:先得有一个空闲的分区,如果是一块新的磁盘,可以用fdisk来创建一个新的分区用于swap。
添加swap文件就简单多了,也没有分区作那么有风险。
通过如下命令,能查看所有进程的使用swap情况
查看所有进程使用swap情况脚本:
史上最良心的 Ubuntu desktop 美化优化指导(2)
Units = cylinders of 16065 512 = 8225280 bytes最近我在学习的工程中将我的 Ubuntu 18.04 作系统做了一次的优化和美化。为什么要美化和优化呢?美化是为了让自己吃饭的工具看起来漂亮,毕竟每天都要使用的;优化当然是让系统的运行工作得更好。现在我在我在虚拟机中重新安装了 Ubuntu 18.04 desktop 作系统,准备把整个美化的过程记录下来。
参考: 史上最良心的 Ubuntu desktop 美化优化指导(1)
参考: 史上最良心的 Ubuntu desktop 美化优化指导(1)
Ubuntu 18.04 在进行系统优化的时候,不建议过度优化,过度优化只会适得其反,如果是笔记本安装 Ubuntu 18.04 系统,那主要关注固态硬盘的优化和笔记本电池的优化就可以了。
tip:如果你的硬盘不是固态硬盘就不要搞这个优化了。
也可以通过命令: sudo ctl status fstrim.serv 查看 fstrim 服务是不是处于 active 状态来确定是否支持,如下图是支持的时候的截图。
sudo mkdir -v /etc/d//fstrim.timer.d
vim /etc/d//fstrim.t【相关】imer.d/override.conf ,输入:
sudo apt install in-microcode
关于 swap 的使用和作用,这里部介绍了,为了提高系统性能,我们可以通过减少对 swap 的使用,具体做法就是当内存资源少于一个给定的值后才使用 swap。
程序执行相应作后,需要写入硬盘的数据要写入硬盘后才进行下一步作,如果能够在数据存到缓存中的时候就开始接下来的作,那程序的性能将大大提高,这其实也是可以做到的,不过如果遇到突然断电等的时候,我们的数据就会丢失,所以这个优化项自行决定是否需要优化。
打开 disk 工具,如下图:
点击右上角的红色框住的图标,然后选择 Drive Settings,然后打开上图中的开关即可。
将 Firefox 网络缓存写入 RAM,而不是写入硬盘,内存不足 2G 的就建议别这样做了。具体做法如下:
默认情况下 Ubuntu 使用 CFQ 作为 I/O 调度器,但是这个默认设置对 SSD 硬盘没有效果,如果我们使用的是 SSD 硬盘,那需要进行修改,修改步骤如下。
在Ubuntu上开启Swap
既然配置swap对桌面系统有帮助,那么配置多少大小的swap比较合适呢?下面是ubuntu给出的建议:在内存不够大时,需要开启Swap,使用一部分硬盘,作为虚拟内存,解决内存容量不足的情况。这篇博客是以 Ubuntu 基础来作的,其他 Linux 系统基本类似。很简单,跟着下面的步骤,一步一步来作即可。
在终端使用命令 free -m 查看输出结果
可以看到一行是0 0 0,则表示当前没有开启。
使用下面命令创建交换文件。因为要分配硬盘空间,所以有可能比较慢,等待一会
count=2048 表示创建 2G 的虚拟内存,因为这里用到的单位是 M ,如果要创建 6G 虚拟内存,则把2048 改成 6144 即可,因为 1024 6 = 6144。
可以使用 ls / | grep swapfile 命令查看一下,确保交换文件存在,创建成功。
依次执行下面的命令
依次运行上面两个命令后,如果成功,将会看到类似下面的输出
到这里,Swap 已经开启完成后,重新思考了一下,最简单的办法就是在Windows XP安装盘中选择系统修复,让电脑从光盘中读取系统,这样就可以进入Windows,在此环境下选择c盘的boot.ini文件。它可能是隐藏的,在文件夹选项中,设置显示隐藏的文件。然后找到后,按照上面的hal.dll文件内容和自己的系统实际安装的情况进行修改。讨论完毕。成功。我们再次使用 free -m 命令查看一下,你将看到类似下面的输出。
一行 Swap 将不再是0 0 0,而是我们上面设置的大小
使用编辑器编辑 /etc/fstab 文件,添加 Swap 自动开启的配置,这里使用 Vim进行编辑,也可以使用其他文本编辑工具,例如 nano
在 fstab 文件一行添加下面的内容
然后保存,退出。
R读取大型数据集内存不足如何解决,如果利用Linux有什么有效方法吗?
建议安装鲁,把电脑配置截图发上来看看,还要说一下运行什么软件。有个比较简单的方----------------------------------------------------------------------------法是fread里的nrows参数设置。
R所有读取数据的函数都有nrows和skip这两个参数,可以写个循环,一个文件分段读取,skip跳过前面读过的,用nrows控制读入行数,防止内存不足。
——好处是简单粗暴多平台可用,缺点是,真的很慢……
如果有条件还是建议申请个来跑,比如学生可以询问导师院系有没有用于大型计算的。
另外Unix系统对内存的限制确实是比Windows好些,可惜我也不知道正确的打开方式QAQ
安装ubuntu的时候给/var分配了2G的空间,不过现在看来似乎不够!
w write table to disk and exit如果你的/home比较大,可以这样:
分段处理之后将文件写入本地,用rm将比较大的变量消除掉,用gc()释放这部分内存。sudo su -
mkdir /home/lib
cp -fpr /var/lib/ /home/lib
mv /var/lib /var/lib.bak
ln -s /hom/lib /var/lib
试试吧。
本来
怎么给virtual box 中的ubuntu增加内存
步骤如下:VitrualBox是不允许更改重置硬盘大小的,所以当硬盘不足时,只能添加新硬盘。
1. 关闭Ubuntu系统,打开VistualBox,"设置"->"存储"->“添加虚拟硬盘”
2. 启动Ubuntu系统,作命令如下:
#1 sudo fdisk -l // 查看现有系统磁盘空间
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Disk identifier: 0x000af383
Dev Boot Start End Blocks Id System
/dev/sda1 1 1244 9992398+ 83 Linux
/dev/sda2 1245 1305 489982+ 5 Extended
/dev/sda5 1245 1305 489951 82 Linux swap / Solaris
Disk /dev/sdb: 5368 MB, 53687020 bytes
255 heads, 63 sectors/track, 652 cylinders
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
以上信息可以看到新增加的磁盘空间 /dev/sdb ,这里我们需要给新的磁盘空间分区。
#2 fdisk /dev/sdb
打印结果如下:
Command actDirectorion
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without sing changes
t change a partition's id
u change display/entry units
v verify the partition table
x extra functionality (experts only)
#4 Command (m for ): n
打印结果如下:
Command action
p primary partition (1-4)
键入:p,选择添加主分区;
键入:1,选择主分区编号为1, 这样创建后的主分区为sdb1;
#5 First Cylinder(1-1014,default 1): 1 // 个主分区起始的磁盘块数
#6 Last cylindet or +siza or +sizeM or +sizeK: +1024MB // 可以是以MB为单位的数字或者以磁盘块数,这里我们输入+1024MB表示分区大小为1G。
这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。
,键入:w,保存所有并退出,完成新磁盘的分区。
4. 格式化磁盘分区
#7 sudo mkfs -t ext3 /dev/sdb1 // 用ext3格式对 /dev/sdb1 进行格式化
5. 挂载分区
#8 sudo mkdir /data // 创建新的挂载点
#9 sudo mount /dev/sdb1 /data // 将新磁盘分区挂载到 /data 目录下
#10 sudo df // 查看挂载结果
6. 开机自动挂载
#11 vi /etc/fstab // 修改 /etc/fstab 文件
在 /etc/fatab 文件中,添加如下内容:
/dev/sdb1 /data ext3 defaults 1 2
电脑安装ubuntu系统没成功,却无缘无故少了20G内存,不知道哪去了???怎么恢复啊!大虾指点!!!!!!
ubuntu运行起来就比较大一些。虽然你分配多的内存给它,但实际你自己在运行虚拟机的内存就没多少,自然会反应慢一些。而且还要看本身你的系统是否本来就慢,还有你的cpu本来也没快到哪去分区格式变了...是SATA还是IDE的...IDE的在启动的时候用PQ8.0...如果是SATA那就只有在系统里安装分区魔术师或者Acronis
查看是否支持的命令是: sudo hdparm -I /dev/sda | grep TRIM ,如果输入结果和下面不多,能找到 supported 字样,那说明是支持的。Disk
Suite
10
ubuntu下磁盘空间满了导致mysql启动不了怎么办
这个有现成的工具可用,不必手动优化,只需要安装工具即可,安装步骤如下:昨天又遇到了MySQL数据库无法重启的问题,还以为是权限的原因,后来发现提示是因为磁盘空间不足导致的,通过查找相关资料得以解决了,所以下面这篇文章主要介绍了ubuntu下磁盘空间不足导致mysql无法启动的解决方法,需要的朋友可以参考下。
前言
最近在数据库的一张表添加两个字段,后来提示什么磁盘空间不足什么什么的,后来数据库就断开连接了,之后就一直连接不上去后来,经过思考终于解决了这个问题,这一经历下来真是心惊胆战,本文作为记录一下磁盘空间不足导致的 mysql 无法启动的解决办法。
方法如下
作系统:ubuntu,磁盘空间不足导致的 mysql 无法启动,会造成如下问题: root@iZ28z558vv0Z:/etc/mysql# mysql -oot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@iZ28z558vv0Z:/b# serv mysql start
start: Job failed to start
root@iZ28z558vv0Z:/var/lib# serv mysqld start
mysqld: unrecognized serv解决办法:找到 mysql 的配置文件 myf: root@iZ28z558vv0Z:/etc/mysql# ls
conf.d debianf debian-start myf
root@iZ28z558vv0Z:/etc/mysql# vi myf其中文件中的 datadir 这一项显示 /var/lib/mysql [mysqld]
## Basic Settings
#user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/m现在许多固态硬盘在出厂的时候就预留了一部分空间,大约是容量的 1/4 来禁止用户访问,这样做的好处是将这部分空间不进行空间分配,提高固态硬盘的性能和寿命,至于原因这里就不多说了,和固态硬盘的特性有关,感兴趣的朋友可以去找相关资料学习。如果你的固态硬盘买得比较早,那就保留 10G 的空间不要分配就可以了。ysql
skip-external-locking因为是磁盘空间不足,所以我们需要查看 mysql 保存数据的所在位置,datadir 或 tmpdir 这两项所在磁盘空间的使用情况,查看 datadir 所在磁盘空间的使用情况: root@iZ28z558vv0Z:/var# df /var
File 1K-blocks Used Available Use% Mounted on
/dev/xvda1 41151808 39038392 0 /由上可以看出明显磁盘空间可用率是0,这就是导致 mysql 无法启动的原因了。删去 /var 目录下的其它文件,腾出磁盘空间,即可解决问题,然后重启 mysql 服务。
总结
1. Mysql免费视频教程
2. 详解innodb_index_stats导入数据时
提示表主键冲突的错误
3. 实例详解
mysql中innodb_autoinc_lock_mode
4. MySQL中添加新用户权限的实例详解
5. 实例详解mysql中init_connect方法
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。