Questions tagged «darwin»


1
cat / dev / null> file.log不会在达尔文中截断大文件
过去,在linux系统上,我已经能够使用截断大型的打开日志文件(即进程正在主动写入的文件)cat /dev/null > file.log。 但是,在10.9(小牛)上,情况似乎并非如此。我有一个11GB的文件正在由应用程序登录,但是当我对上述文件执行相同的命令时,似乎什么也没发生。 当我在一个很小的文件上尝试时,它确实起作用。 这里是ls -l /dev/null: crw-rw-rw- 1 root wheel 3, 2 Dec 16 12:49 /dev/null 我也尝试cp /dev/null file.log无济于事。 考虑到我可以利用truncate函数(man 2 truncate在Darwin中),我对此进行了编译并针对两个文件(一个很小的文件,另一个是实际的日志文件)运行了它。再次,它针对琐碎的文件,不适用于更大的日志。 /* * Copyright (c) 2013 Thomas de Grivel <thomas@lowh.net> * * Permission to use, copy, modify, and distribute this software for any * purpose with …
15 logs  darwin 

2
如何增加Mac OS X上的最大交换空间?
在Mac OS X Yosemite 10.10.5上,当我尝试运行需要分配和使用128 GB内存的计算(这是用C语言编写的命令行程序)时,内核会以极大的偏见杀死我的进程。此控制台日志条目是一个实例的示例: 15/9/25 7:08:40.000 PM内核[0]:低交换:杀死pid 6202(huffgrp) 分配并使用64 GB内存时,该计算可以在合理的时间内正常运行。我的Mac硬盘上有32 GB的RAM和beaucoup空间。我还在另一台具有8 GB RAM的Mac上进行了尝试,在该Mac上64 GB计算也可以正常运行,当然需要更长的时间,但是128 GB计算却以相同的方式被内核杀死。 顺便说一句,malloc()无论我要多少空间,都永远不会返回错误。一旦进程实际使用了过多的内存,内核将终止进程,从而导致大量交换到硬盘驱动器。 因此,似乎存在一个秘密的交换空间限制,介于64 GB和128 GB之间。 我的问题是:如何重新配置​​内核以允许更多交换空间?我找到了一个有前途的文件,/System/Library/LaunchDaemons/com.apple.dynamic_pager.plist但看不到其中的秘密号码。的手册页dynamic_pager说,它所做的只是设置交换文件的名称和位置。该手册页中有较旧的版本,其中记录了-S用于设置所创建交换文件大小的选项。我尝试过,请求160 GB交换文件,但是没有效果。每个交换文件仍为1 GB,该进程仍被内核杀死。

2
为什么在Linux而不是OS X的“ time.h”中定义“ timer_t”
在阅读C源代码文件时,发现了此声明。(此源代码是为Linux系统程序编写的。这是非常重要的信息) #include <time.h> #include <stdio.h> static timer_t* _interval_timer; ... 首先,我想了解更多有关“ timer_t”的信息。所以我用谷歌搜索“ time.h”来获取标题信息。但是,没有关于“ timer_t”的任何消息,仅提及“ time_t”。 出于好奇,我在“ mac”计算机中搜索并打开了“ time.h” c标准库文件(如您所知,/ usr / include文件夹存储了c标准库文件。)但是,该文件与以前用谷歌搜索的文件相同。 最后,我使用虚拟机打开了Linux os(ubuntu),并在linux c标准库文件夹(文件夹路径与OSX相同)中打开了“ time.h”。如我所料,Linux中的“ time.h”文件具有timer_t的声明。 我在下面添加了声明“ timer_t”类型的代码行。 #if !defined __timer_t_defined && \ ((defined _TIME_H && defined __USE_POSIX199309) || defined __need_timer_t) # define __timer_t_defined 1 # include <bits/types.h> /* Timer …
11 linux  c  darwin 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.