16
Apr

Kill this Emacs, and start a new one!

   Posted by: Emre Sevinc   in Emacs, General, Programlama

Bir gece yarısı, #fazlamesai kanalına Emacs ERC ile bağlı iken aniden altta ikinci bir “buffer” açıldı “Danger” isimli ve içinde şunlar yazıyordu:

Warning: memory in use exceeds lisp pointer size. Killing some buffers may delay running out of memory. However, certainly by the time you receive the %95 warning, you should clean up, kill this Emacs, and start a new one.

Bunu dediği esnada Emacs ve içindeki ERC 3-4 haftadır açık ve kanala bağlı idi. Biriken IRC log satır sayısı ise 51.060′tı.

ERC’nin sv çıktısına göre:

I’m using ERC Version 5.0.4 $Revision: 1.726.2.20 $ with GNU Emacs 21.3.1 (i386-pc-linux-gnu, X toolkit, Xaw3d scroll bars, built 2004-08-03)!

Konuyla ilgili bulabildiğim en düzgün açıklama: Lisp pointer size?

Lisp uses tagged pointers, that is, they use a few bits of the pointer to specify pointer type, which leaves fewer bits around to actually point to the object. If you’re on 32bit arch, 128mb == 2^27, and, say, 5 bits are used by Emacs Lisp to tag the pointers, then you’d really be running out of it. But I’m not emacs (or even lisp) guru, and all of the above is just my educated guess, so it can easily be wrong. — Senko Rasic

Use emacs-22 (from CVS), the size has now been increased to 256MB. Besides that it has quite a lot of very useful features. More than 2 tag bits are needed to distiguish between the different data types: integers, symbols, strings, conses, floats, etc. — d

Benzer Yazılar / Similar Posts:

This entry was posted on Sunday, April 16th, 2006 at 3:28 am and is filed under Emacs, General, Programlama. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a reply

Name (*)
Mail (will not be published) (*)
URI
Comment