标签: dump

为什么创建转储文件操作会极大地增加工作集(内存)大小?

我使用 C# 编写了一个 Hello-world 控制台应用程序

class Program
{
  static void Main(string[] args)
  {
    Console.WriteLine("Hello World");

    Console.Read();
  }
}
Run Code Online (Sandbox Code Playgroud)

,当我启动它时,它占用的内存是: 在此输入图像描述

然后,我尝试创建该进程的转储文件: 在此输入图像描述

创建dump后,该进程占用的内存为: 在此输入图像描述

你可以看到工作集大小发生了很大的变化,这让我感到惊讶。

关于此内存增量的其他有趣之处是:

  1. 当我的进程内存工作集增加到 46 MB 后,似乎它并没有再减少到 7 MB。
  2. 转储文件的大小不是 7MB,而是 46 MB。
  3. 私有工作集从 1.83MB 增加到 2.29MB

而且,这是我的问题:

1.为什么创建转储操作时会出现内存增量?

2.过去,当测试人员报告内存泄漏问题并向我发送转储文件时,我将转储文件大小视为目标进程在实验室环境中占用的内存大小。但从上面的简单例子来看,我似乎总是错的?

3.我非常好奇46MB转储文件里面有什么(换句话说,我非常好奇为什么当前的hello world应用程序占用了46MB内存)。我熟悉 SOS 命令,例如 !DumpHeap 或 !eeheap,但这些命令不足以告诉 46MB 大小的文件内的所有内容。有人可以分享一些有用的工具、链接或说明吗?

非常感谢您的帮助!

memory windbg dump

2
推荐指数
1
解决办法
1272
查看次数

如何导出mysql查询结果以便我可以再次将其导入回来

我想按特定条件从表中转储数据,这是 sql 查询:

"SELECT * FROM document WHERE date BETWEEN 20160101 AND 20160131"

我从中选择的表是 MyISAM Merge。

我已删除与该查询匹配的行,并且我想从备份中导入它们,但仅限于这些行。

我尝试过像这样制作转储:

mysql -uroot -proot mydb -e "SELECT * INTO OUTFILE '/tmp/doc.sql' from document WHERE date BETWEEN 20160101 AND 20160131".

但会生成一个无法用phpmyadmin导入工具导入的文件。PMA 再次不想导出此查询结果。

有什么帮助吗?由于保密协议,我无法发布真实数据库/表的结构。

编辑:对于所有从 MyISAM MRG 表转储数据时遇到问题的人,您需要从子表转储,而不是主表。

mysql sql dump

2
推荐指数
1
解决办法
1824
查看次数

将维基百科转储导入到 MySql

我正在尝试将 .bz2 文件导入 MySql 数据库,但收到此错误:

Fatal error: Out of memory (allocated 386400256) (tried to allocate 378535937 bytes) in C:\wamp\apps\phpmyadmin4.6.4\libraries\plugins\import\ImportXml.php on line 90
Run Code Online (Sandbox Code Playgroud)

我在这里尝试了很多解决方案,包括upload_max_filesize提高memory_limitpost_max_size

任何帮助将非常感激!

php mysql dump

2
推荐指数
1
解决办法
1908
查看次数

Dcmtk 转储,通过不加载所有内容来减少时间

我正在处理DICOM图像并使用DCMTK进行一些处理。

我的问题是我必须只检索一批图像的某些标签。但这个过程需要太长的时间。

我在用着dcmdump -M -L +P '0010,0020' +P '0010,0010

  • -M不要加载很长的值(例如像素数据)
  • -L打印缩短的长标签值(默认)
  • +P打印标签的文本转储,该选项可以指定多次

但单个文件的“转储”需要~1sc. 这是因为所有标签仍在加载,但随后+P 正在搜索所有标签。

我只有几个标签要检索。是否有可能仅加载某些特定标签以减少转储文件所需的时间?

也许 DCMTK 不是合适的工具。我对一切都持开放态度。

dump dicom dcmtk

2
推荐指数
1
解决办法
1345
查看次数

postgresql数据库结构脚本

如何在没有数据(模式,表,...)的情况下通过命令行获取我的数据库结构.

postgresql scripting dump

1
推荐指数
1
解决办法
1139
查看次数

如何从一个表转储数据并插入另一个表

我有两个数据库.我想从第一个数据库中的一个表转储数据,并在第二个数据库中插入另一个具有另一个名称的表.
所以我的DB1有表tbl1和tabl2,DB2有表tbl3和tbl4.我知道tabl1和tabl3具有相同的结构.如何使用mysqldump命令将数据从一个复制到另一个?
我试过这样做,但这不行.

mysqldump --user root --password=password --no-create-info DB1 tbl1 > c:/dump.sql
mysql --user root --password=password DB2 tbl3 < c:/dump.sql
Run Code Online (Sandbox Code Playgroud)

mysql dump mysqldump

1
推荐指数
1
解决办法
1万
查看次数

Perl的.如何修改yaml文件?

我有一个yaml文件,看起来像这样:

---
date: 25-01-2010
version: 0.1
Run Code Online (Sandbox Code Playgroud)

我想编辑它.我用这个代码:

use YAML::XS qw(LoadFile);
use YAML::Syck qw(Dump);    

my $list = LoadFile("config.yaml");
$list{date} = "12-11-2011";
print "The date is $list->{date} \n";
print "The version is $list->{version} \n";
open F, '>', "config.yaml";
print F Dump( \%list );
close F;
}
Run Code Online (Sandbox Code Playgroud)

当它完成时,我的yaml文件最后只包含日期和空行.

--- 
date: 12-11-2011
Run Code Online (Sandbox Code Playgroud)

这段代码出了什么问题?如果我在写作之前检查值版本我得到了好的结果,它显示版本但它根本不写它...

我尝试使用YAML :: Syck :: DumbFile,但写入后文件也不包含版本,它看起来像这样:

---
date:
12-11-2011
Run Code Online (Sandbox Code Playgroud)

perl yaml dump

1
推荐指数
1
解决办法
1067
查看次数

等到DOS命令执行完成 - Java

我试图在MySQL数据库中导入大量的.dmp文件,因为有超过250个必须导入的文件,我编写了一个应用程序来自动执行250+ DOS命令.它的代码:

String baseCommand = "cmd /c MySQL -h localhost -u root amateurstable < ";
Process p = Runtime.getRuntime().exec(baseCommand + filePath);
Run Code Online (Sandbox Code Playgroud)

它确实执行它应该执行的命令.问题是某些.dmp文件大于100MB,但上面的代码不会等到命令执行完成.

当它执行大文件的导入命令时,它不会等到导入完成后立即执行下一个命令.这在计算机的响应性方面引起很多麻烦.

问题是如何让它等到命令执行完成?

java mysql import dump wait

1
推荐指数
1
解决办法
1544
查看次数

转储数据库时yaml_db不起作用

我正在尝试通过以下方式将我的rubyonrails项目从sqlite3转换为MySQL:

这是命令行日志:

plee@sos:~/rubyonrails/blog$ gem install yaml_db
Successfully installed yaml_db-0.2.3
1 gem installed
Installing ri documentation for yaml_db-0.2.3...
Installing RDoc documentation for yaml_db-0.2.3...

plee@sos:~/rubyonrails/blog$ gem list | grep yaml_db
yaml_db (0.2.3)

plee@sos:~/rubyonrails/blog$ rake db:data:dump
rake aborted!
Don't know how to build task 'db:data:dump'

(See full trace by running task with --trace)

plee@sos:~/rubyonrails/blog$ rake db:dump
rake aborted!
Don't know how to build task 'db:dump'

(See full trace by running task with --trace)
plee@sos:~/rubyonrails/blog$ 
Run Code Online (Sandbox Code Playgroud)

和我的操作系统信息:

plee@sos:~/rubyonrails/blog$ uname -a
Linux …
Run Code Online (Sandbox Code Playgroud)

database yaml dump ruby-on-rails

1
推荐指数
1
解决办法
2397
查看次数

无法锁定SVNRDUMP负载

我想将svn文件夹移动到另一个svn文件夹。我在旧的svn文件夹中使用了dump。之后,我使用svnrdump加载到另一个svn文件夹。他们是同一台机器的不同svn回购。在加载期间,我以Ctr + C中断。之后,我尝试再次加载。但是以下错误正在返回。

> Failed to get lock on destination repos, currently held by 'current computer name'  
> svnrdump: E200015: Caught signal  
> svnrdump: E200042:
> Additional errors: svnrdump: E200015: Caught signal
Run Code Online (Sandbox Code Playgroud)

这是我的svn代码。

svnrdump dump http://...... > C:/mydump
svnrdump load http://.......< C:/mydump
Run Code Online (Sandbox Code Playgroud)

我该如何解决?谢谢大家

svn load dump svn-repository

1
推荐指数
1
解决办法
1512
查看次数

标签 统计

dump ×10

mysql ×4

yaml ×2

database ×1

dcmtk ×1

dicom ×1

import ×1

java ×1

load ×1

memory ×1

mysqldump ×1

perl ×1

php ×1

postgresql ×1

ruby-on-rails ×1

scripting ×1

sql ×1

svn ×1

svn-repository ×1

wait ×1

windbg ×1