u盘linux需要多大内存,linux下获取硬盘、内存、U盘大小及使用大小
/*
* 获取硬盘大小;内存大小;usb大小
*/
#ifndef SYSINFOGET_H
#define SYSINFOGET_H
#include
//磁盘信息
#include
#include
#include
//内存信息
#include
#include
#include
//系统账号信息
#include
//文件信息
#include
#include
#include
class SysInfoGet
{
public:
SysInfoGet();
/**
* @brief getSysInfoInit 初始化数据
*/
void getSysInfoInit();
/**
* @brief getSysInfo 获取数据
*/
void getSysInfo();
double MBsize; //计算MB用
char *path;
char *pathUsb;
struct statfs diskInfo; //系统分区磁盘大小
struct sysinfo memInfo; //内存信息
struct statfs diskInfo2; //usb分区磁盘大小
struct dirent *ent;
public:
/**
* @brief totalDiskSize 磁盘大小
*/
double totalDiskSize;
/**
* @brief usedDiskSize 已用磁盘大小
*/
double usedDiskSize;
/**
* @brief totalMemSize 内存大小
*/
double totalMemSize;
/**
* @brief usedMemSize 已用内存
*/
double usedMemSize;
/**
* @brief totalUsbSize usb大小
*/
double totalUsbSize;
/**
* @brief usedUsbSize usb已用大小
*/
double usedUsbSize;
/**
* @brief usbExist usb是否存在
*/
bool usbExist;
};
#endif // SYSINFOGET_H
#include "sysinfoget.h"
SysInfoGet::SysInfoGet()
{
getSysInfoInit(); //初始化
//getSysInfo(); //获取
}
void SysInfoGet::getSysInfoInit(){
//初始化usb加载地址
struct passwd *pwd = new passwd;
pwd = getpwuid(getuid());
path = new char();
strcpy(path, "/media/");
strcat(path, pwd->pw_name); // ./media/root
//初始化
pathUsb = new char(); //长度够不够?
ent = new dirent;
//数据
MBsize = 1024.0*1024.0; //最终结果只留下两位
totalDiskSize=;
usedDiskSize=;
totalMemSize=;
usedMemSize=;
totalUsbSize=;
usedUsbSize=;
usbExist=false;
}
void SysInfoGet::getSysInfo()
{
//--------磁盘信息测试---------------------------
//struct statfs diskInfo;
statfs("/", &diskInfo);
totalDiskSize = (double)(diskInfo.f_bsize*diskInfo.f_blocks)/MBsize;
usedDiskSize = (double)(diskInfo.f_bsize*diskInfo.f_blocks-diskInfo.f_bsize*diskInfo.f_bfree)/MBsize;
//qDebug()<
//qDebug()<
//---------内存信息测试----------------------------
//struct sysinfo memInfo;
sysinfo(&memInfo);
totalMemSize = (double)memInfo.totalram/MBsize;
usedMemSize = (double)(memInfo.totalram-memInfo.freeram)/MBsize;
//qDebug()<
//qDebug()<
//---------U盘信息测试------------------------------
DIR *pDir = opendir(path);
// int existFlag;
// existFlag = 0;
// while(NULL != (ent=readdir(pDir)) )
// {
// if(ent->d_type==4)//if(ent->d_type & DT_DIR)
// {
// if(strcmp(ent->d_name,".")==0 || strcmp(ent->d_name,"..")==0) continue;
// //qDebug()<d_name;//u盘文件夹名称
// strcpy(pathUsb, path);
// strcat(pathUsb, "/");
// strcat(pathUsb, ent->d_name);
// //qDebug()<
// struct statfs diskInfo2;
// statfs(pathUsb, &diskInfo2);
// totalUsbSize = (double)(diskInfo2.f_bsize*diskInfo2.f_blocks)/MBsize;
// usedUsbSize = (double)(diskInfo2.f_bsize*diskInfo2.f_blocks-diskInfo2.f_bsize*diskInfo2.f_bfree)/MBsize;
// existFlag=1;
// //qDebug()<
// //qDebug()<
// }
// }
// closedir(pDir);//必须关闭
// if(existFlag == 1){
// usbExist = true;
// }
// else{
// usbExist = false;
// }
//此获取的是最新插入的那个usb(一个)
ent=readdir(pDir); //UUI1;UUI;..;.
//qDebug()<d_name;
if(ent->d_type==){ //属于文件夹
if(strcmp(ent->d_name,".")== || strcmp(ent->d_name,"..")==)
{
usbExist = false;
totalUsbSize = ;
usedUsbSize = ;
}
else
{
strcpy(pathUsb, path);
strcat(pathUsb, "/");
strcat(pathUsb, ent->d_name); //获取u盘地址
//struct statfs diskInfo2;
statfs(pathUsb, &diskInfo2);
usbExist = true;
totalUsbSize = (double)(diskInfo2.f_bsize*diskInfo2.f_blocks)/MBsize;
usedUsbSize = (double)(diskInfo2.f_bsize*diskInfo2.f_blocks-diskInfo2.f_bsize*diskInfo2.f_bfree)/MBsize;
//qDebug()<
//qDebug()<
}
}
closedir(pDir); //必须关闭
//qDebug()<
}
Linux下获取硬盘使用情况
Linux下获取硬盘使用情况[总结] 1.前言 在嵌入式设备中,硬盘空间非常有限,在涉及到经常写日志的进程时候,需要考虑日志的大小和删除,不然很快就硬盘写满,导致日志程序崩溃.为了捕获硬盘写满的异常场 ...
linux下获取硬盘使用情况[总结]
1.前言 在嵌入式设备中,硬盘空间非常有限,在涉及到经常写日志的进程时候,需要考虑日志的大小和删除,不然很快就硬盘写满,导致日志程序崩溃.为了捕获硬盘写满的异常场景,我们需要在写日志过程中判断硬盘空间 ...
C#在Linux下获取文件夹信息(所在磁盘总大小,使用空间,已用空间,使用率)
1.第一种使用shell命令实现: private DiskInfo LinuxGetFolderDiskInfo(string path) { DiskInfo disk = new DiskInf ...
linux下获取占用CPU资源最多的10个进程
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
[转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具
linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...
Linux 下增大tomcat内存
我的服务器的配置: # OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...
Linux下获取arm的交叉编译工具链
转载请注明文章:Linux下获取arm的交叉编译工具链 出处:多客博图 这里介绍,Linux下获取arm的交叉编译工具链,比如arm-linux-gnueabihf-gcc.arm-linux-gne ...
linux 下 取进程占用内存(MEM)最高的前10个进程
# linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...
(转)Linux下tomcat JVM内存设置步骤
java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space -------------- ...
随机推荐
IOS响应式编程框架ReactiveCocoa(RAC)使用示例
ReactiveCocoa是响应式编程(FRP)在iOS中的一个实现框架,它的开源地址为:https://github.com/ReactiveCocoa/ReactiveCocoa# :在网上看了几 ...
[PHP] php实现文件下载
1. 设置超链接的href属性 如果浏览器不能解析该文件,浏览器会自动下载.而如果文件是图片或者txt,会直接在浏览 ...
【整理】c# 调用windows API(user32.dll)
User32.dll提供了很多可供调用的接口,大致如下(转自http://blog.csdn.net/zhang399401/article/details/6978803) using System ...
gulp 基础运用
全局安装gulp $npm install --global gulp 作为项目的开发依赖安装 //--save-dev 开发依赖,储存在package.json的devDependencies中,如 ...
[PHP]MemCached高级缓存
Memcache Win32 的安装下载:Memcache Win32 [www.php100.com] [www.jehiah.cz/projects/memcached-win32/] 1.解 ...
组合计数(polya计数):SGU 282 Isomorphism
因为论文的题解写得太好了,直接贴. #include #include #include using n ...
批处理文件:windows下关闭指定端口
@echo offsetlocal enabledelayedexpansionset /p port=please input port number:for /f "tokens=1-5 ...
JS的进阶技巧
前言 你真的了解JS吗,看完全篇,你可能对人生产生疑问. typeof typeof运算符,把类型信息当做字符串返回. //正则表达式 是个什么 ? typeof /s/ // object //nu ...
Spock - Document -04- Interaction Based Testing
Interaction Based Testing Peter Niederwieser, The Spock Framework TeamVersion 1.1 Interaction-based ...
vs编写x64内联汇编
参考自: https://www.cnblogs.com/achillis/p/5369658.html 先转过来, 等实践过了再做相应的修改, hehe 编写涉及系统特性的一些底层程序,特别是She ...
u盘linux需要多大内存,linux下获取硬盘、内存、U盘大小及使用大小相关推荐
- linux 程序收到sigsegv信号_linux下定位多线程内存越界问题实践总结
最近定位了在一个多线程服务器程序(OceanBase MergeServer)中,一个线程非法篡改另一个线程的内存而导致程序core掉的问题.定位这个问题历经曲折,尝试了各种内存调试的办法.往往感觉就 ...
- 180天Linux小白到大神-Linux快速入门
01.Linux快速入门 01.Linux快速入门 1.计算机组成原理 1.1 什么是计算机 1.2 为什么要有计算机 1.3 计算机五大组成部分 1.3.1 CPU 1.3.2 内存/硬盘 1.3. ...
- linux下获取硬盘使用情况
1.前言 在嵌入式设备中,硬盘空间非常有限,在涉及到经常写日志的进程时候,需要考虑日志的大小和删除,不然很快就硬盘写满,导致日志程序崩溃.为了捕获硬盘写满的异常场景,我们需要在写日志过程中判断硬盘空间 ...
- 最适合手机的linux系统,10大主流Linux系统大盘点,总有一个适合你
一.发行版 可能你从未听说过发行版这个名词, 因此我简单的对它作一些介绍. 应当强调的是,linux本身只是一个内核,没有图形界面和各种让你眼花缭乱的小玩意儿. 因此,在linux内核的基础上进行开发 ...
- linux中使用u盘和光驱的命令_Linux操作系统下挂载硬盘光驱和U盘的方法
mount -t iso9660 /dev/cdrom /mnt/cdrom 挂光驱本文引用地址:http://www.eepw.com.cn/article/201610/305456.htm mo ...
- linux查找服务器大文件,Linux查找大文件命令
在我们日常使用Linux时,经常会出现由于垃圾文件或日志文件过大,将磁盘打满的情况,为了及时处理掉这些大文件,我们如何准确地定位到这些大文件就格外重要.本文整理了查看大文件和清空内容等命令,有用记得收 ...
- linux内核7大功能,Linux Kernel5.10十个值得关注的功能
Linux Kernel 5.10 有望在本周末发布,外媒 Phoronix 盘点了 10 个值得关注的改进和新功能.5.10 不仅是 2020 年最后一个内核版本,而且还是长期支持(LTS)版本. ...
- linux less打开大文件,Linux 读取文件:Less 命令
「less」命令与 「more」命令相同,但包含更多功能. 「less」命令与「more」命令当终端窗口宽度缩小时,行中字符会自动调整.「less」命令,在终端窗口高度缩小时会聚焦文件文字的开头部分, ...
- linux ps vsz malloc,认真分析下进程的内存,说说VSZ、RSS、PSS
进程占用的内存可以有以下这些类型:自身的代码 共享库的代码 运行过程分配的堆和栈 通过mmap映射的磁盘文件内容 1. 虚拟内存与物理内存 这里要区分两个概念,虚拟内存和物理内存.物理内存对于进程来说 ...
最新文章
- ubuntu 18.04.4 安装 bazel
- 百度商品识别心得笔记
- python基本使用-Python的基本用法
- Redfield.Sketch.Master中文版
- 【语音SBC算法】基于正交滤波器组的语音SBC算法设计与实现
- Java多线程:乐观锁、悲观锁、自旋锁
- Spring boot 定制banner
- 图像处理基本算法-滤波
- 要来吗,不错的WPF技术交流群!(大批干货今日自取)
- 论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统
- vue中v-for指令的使用之Vue知识点归纳(八)
- Unity URP一分钟实现遮挡透视
- mysql 函数事务_MySQL:函数和事务
- javaweb编辑器ckeditor配置_ckeditor编辑器在java项目中配置
- 显示器信号接口的发展历程
- 数据库连接池为啥要用 ThreadLocal?不用会怎么样?
- 温湿度压力传感器——BME280,硬件开发与程序设计
- PHP 对接阿里云短信
- 电池、电机、螺旋桨搭配
- 3种在JavaScript中验证电子邮件地址的方法