在过去的几周内(可能是因为我升级到Sierra),我继续使用ZSH在 iTerm2 中遇到这个奇怪的问题。
基本上,在我的常规工作流程中的间歇点,命令将因错误而停止正常工作:
scholars
有人知道为什么会这样,以及我如何解决它?
答案 0 :(得分:0)
此错误可能反映工作流程中的内存泄漏。我最近在使用自动化脚本时遇到了问题,发现在程序出现此消息失败之前,内存使用率已增加到100%左右。
通常,您可以通过在Mac OS上运行“活动监视器”应用程序并导航到“内存”选项卡来检查内存泄漏。还有很多方法可以从zsh终端监视内存,例如您可以使用$ ps -eLf | wc -l
打印出进程数,或使用free -m
检查可用内存。
如果这是内存问题,最好的解决办法是重写您的工作流程,以提高内存效率。另一个解决方法是增加计算机对可运行进程的限制,例如通过将以下内容添加到您的etc/profile
文件中;
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
参考:
答案 1 :(得分:0)
我遇到这个问题将近一个星期,这让我发疯了,因为我必须每次都重新启动计算机。单。时间。
就我而言,这是一个cron进程。我的进程每分钟都在运行,这似乎在消耗大量内存。解决我这个问题的步骤是。
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$item_1 = new Item();
$item_1->setName('Example Item')/** item name **/
->setCurrency('USD') //->setCategory('DIGITAL') seems not to be working
->setQuantity($selection)
->setPrice($price);
/** unit price **/
$item_list = new ItemList();
$item_list->setItems(array($item_1));
$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($selection * $price);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($item_list)
->setDescription($decription);
$redirect_urls = new RedirectUrls();
$redirect_urls->setReturnUrl(URL::route('ppstatus'))/** Specify return URL **/
->setCancelUrl(URL::route('ppstatus'));
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setRedirectUrls($redirect_urls)
->setTransactions(array($transaction));
$inputFields = new InputFields();
$inputFields->setNoShipping(1);
$webProfile = new WebProfile();
$webProfile->setName("example");
$webProfile->setInputFields($inputFields);
try {
$payment->create($this->_api_context);
} catch (\PayPal\Exception\PPConnectionException $ex) {
if (\Config::get('app.debug')) {
return json_encode(['status' => false, 'message' => 'Connection timeout']);
} else {
return json_encode(['status' => false, 'message' => 'Some error occur, sorry for inconvenient']);
}
}
foreach ($payment->getLinks() as $link) {
if ($link->getRel() == 'approval_url') {
$redirect_url = $link->getHref();
break;
}
}
if (isset($redirect_url)) {
/** redirect to paypal **/
return json_encode(['status' => true, 'message' => $redirect_url]);
}
\Session::forget('donatorName');
return json_encode(['status' => false, 'message' => 'Unknown error occurred']);
Activity Monitor.
图标向上和向下跳跃并且没有打开,请关闭一些程序。就我而言,我关闭了Evernote和Slack。我认为这释放了一些内存,并打开了活动监视器。Activity Monitor
中的Process Name
标签。 Activity Monitor
)cron
将其全部退出。 。 接下来的几天我会看的。如果有什么变化,我会更新。否则,这意味着它有效。
祝你好运!