Page 25 of 55 FirstFirst ... 15202122232425262728293035 ... LastLast
Results 481 to 500 of 1081
Like Tree13Likes
  1. dave75's Avatar
    Posts
    796 Posts
    Global Posts
    806 Global Posts
    #481  
    I do use Preset Reset, I was just wondering if there was a setting to free up swap faster. I'm not really sure how all this works. No compcache is still the best settings I have used by far. I have not had to restart yet. It seems like things bog down for a bit but it recovers better.
  2. #482  
    Quote Originally Posted by dave75 View Post
    I do use Preset Reset, I was just wondering if there was a setting to free up swap faster. I'm not really sure how all this works. No compcache is still the best settings I have used by far. I have not had to restart yet. It seems like things bog down for a bit but it recovers better.
    Is the bogging down worse than before? I mean 2.1 on a Pre- gets pretty rough. It's bearable for like 10 seconds but then it starts locking up, and the best option is to run Garbage Collector. I'd prefer bogging down vs locking up honestly. At least it's still kind of moving :P
    Quote Originally Posted by rwhitby View Post
    We always prefer that people donate in response to tangible items they can use today, rather than for intangible promises about the future that may or may not be possible to achieve.
  3. dave75's Avatar
    Posts
    796 Posts
    Global Posts
    806 Global Posts
    #483  
    I think it's better. I'm probably not turning compcache back on. I did have to reboot, but I've been rebooting every day anyway. The performance with 8-10 apps running is much better.
  4.    #484  
    so how do we make the swap 200?
  5. #485  
    "modprobe store-swap disksize_kb=262144" ?

    Dont try this, I have no idea what I am talking about.

    Just a guess.
  6. #486  
    Quote Originally Posted by loopytee View Post
    so how do we make the swap 200?

    It requires resizing the partitions. Luckily, Palm gave us the tools to do it right on the device. It's just a matter of getting it 100% correct the first time to avoid mandatory Doctoring in the event of a "OOPS!". :-)


    M.
  7.    #487  
    sort of like the game "operation" make a slip and BBZZZZZZZZZZZZZZZZZ
  8. #488  
    Quote Originally Posted by carrel View Post
    One thing though... Luna seems to grow over time, though it does top out. So even a user running fewer apps may find that after a day or so, things get quite slow with a zero compcache setup. I would think that almost everyone will want some amount of compcache. (But I get in trouble when I think too much.) :-)

    This is why I looked into disabling overcommit. LunaSysMgr and especially WebAppMgr keep eating up "memory". I figured that they were doing something they probably shouldn't be (judging on the other things in the OS that Palm has done...).

    I also do agree that some amount of compcache is good. I am currently testing the zero compcache idea, but, I think that just a thimble size 10M - 12M might be good for this. Big enough to keep actual real stuff worth compressing and keeping, and PLENTY small enough not to catch to much binary junk that'll bog down the system trying to compress the un-compressible.

    P.S.

    memlovers:
    Code:
    #!/bin/sh
    ps -A --sort -rss -o comm,pmem,vsize | head -n 11
    Nice pretty display of the top 10 Memory Hoggers.

    Code:
    root@My Pre:/# memlovers
    COMMAND         %MEM    VSZ
    WebAppMgr       37.2 236596
    LunaSysMgr      16.8  83072
    sdlterminal      8.4  29584
    BrowserServer    4.8  56580
    mojodb-luna      4.1  52412
    mojomail-imap    2.4  22348
    PmWsfDaemon      2.2  46452
    LunaDownloadMgr  1.9  17284
    mediaserver      1.9  27604
    pubsubservice    1.7  18844
    M.
  9. #489  
    I am currently trying out 256mb of compcache.

    The phone actually booted, and so far hasnt blown up into a million pieces.

    Also made swapiness 90 to make use of all the swap.

    first impressions: everything is slower, but in a very responsive and understanding way.

    Rather than this peppy race of a phone that suddenly trips over its own feet and then crashes into a long hang, it seems to smooth out all the bumps so its slower overall, but in a consistent way.

    We will see what my opinion is after a day of use.
  10. carrel's Avatar
    Posts
    425 Posts
    Global Posts
    426 Global Posts
    #490  
    Quote Originally Posted by rmausser View Post
    "modprobe store-swap disksize_kb=262144" ?

    Dont try this, I have no idea what I am talking about.

    Just a guess.
    Do Not do this!!!

    I can't imagine that this would actually do anything because the commands are garbage, but just avoid this. It is bogus.

    Posts #449 and #448 look at the actual partition tables and explain what will be needed to change the partition size. I haven't worked out the exact numbers, but I think I will over the weekend. I have been reading up on VM systems and many Linux distros get wonky when they are running low on VM. With our Pre-'s we are getting too close to running out of VM, even with compcache and 100M of swap. Adding another 256 M of VM would put us on par with the newer Pre's and while it won't be as fast as they are, it should be as stable.
  11. carrel's Avatar
    Posts
    425 Posts
    Global Posts
    426 Global Posts
    #491  
    Quote Originally Posted by Xanadu73 View Post
    This is why I looked into disabling overcommit. LunaSysMgr and especially WebAppMgr keep eating up "memory". I figured that they were doing something they probably shouldn't be (judging on the other things in the OS that Palm has done...).
    What overcommit does may be a bit different than you think. Setting overcommit to 1 says that the kernel will never fail any attempt at malloc() no matter how much memory is asked for and how much VM is free. But once those processes actually start to use the memory, then the OOM killer process will kill off processes to free memory as needed. Setting overcommit to 0 causes the kernel to guess at how much malloc()ing to allow and it still allows more than the actual size of VM. But it isn't infinite. The OOM killer still runs.

    Neither will keep Luna from growing. But in the "1" case, some random processes will get killed off when Luna uses too much memory. In the "0" case, there is a slight chance that Luna might actually get an error when calling malloc() and then Luna will have to abort itself.
  12. carrel's Avatar
    Posts
    425 Posts
    Global Posts
    426 Global Posts
    #492  
    Quote Originally Posted by Xanadu73 View Post
    memlovers:
    Code:
    #!/bin/sh
    ps -A --sort -rss -o comm,pmem,vsize | head -n 11
    Nice pretty display of the top 10 Memory Hoggers.

    Code:
    root@My Pre:/# memlovers
    COMMAND         %MEM    VSZ
    WebAppMgr       37.2 236596
    LunaSysMgr      16.8  83072
    sdlterminal      8.4  29584
    BrowserServer    4.8  56580
    mojodb-luna      4.1  52412
    mojomail-imap    2.4  22348
    PmWsfDaemon      2.2  46452
    LunaDownloadMgr  1.9  17284
    mediaserver      1.9  27604
    pubsubservice    1.7  18844
    M.
    Wow, that is interesting. I wonder what WebAppMgr is. What a pig! :-)
  13. #493  
    Quote Originally Posted by carrel View Post
    Wow, that is interesting. I wonder what WebAppMgr is. What a pig! :-)

    I've been trying to hunt that one down myself (on and off). It's not an actual "app" like LunaSysMgr and friends are. I don't know what it is, where it lives, how it's called, or how the mem usage is controlled.

    Code:
    me@aragorn ~/webOS/ROOTS/a $ find -name '*WebAppMgr*'
    me@aragorn ~/webOS/ROOTS/a $
    Nothing. OK, let's try this:

    Code:
    me@aragorn ~/webOS/ROOTS/a $ grep -rn WebAppMgr *
    etc/palm/db/permissions/com.palm.contextupload:16:        "caller": "com.palm.eventreporter.WebAppMgr",
    Binary file usr/bin/LunaSysMgr matches
    usr/share/dbus-1/system-services/com.palm.luna.service:2:Name=com.palm.appinstaller;com.palm.applicationManager;com.palm.lunastats;com.palm.nativealertmanager;com.palm.systemmanager;com.palm.vibrate;com.palm.ambientLightSensor;com.palm.display;com.palm.keys;com.palm.appDataBackup;com.palm.eventreporter.LunaSysMgr,com.palm.eventreporter.WebAppMgr;com.palm.webos.eventreporter
    usr/share/ls2/roles/prv/com.palm.luna.json:5:        "allowedNames": ["", "com.palm.appinstaller", "com.palm.applicationManager", "com.palm.lunastats", "com.palm.nativealertmanager", "com.palm.systemmanager", "com.palm.vibrate", "com.palm.ambientLightSensor", "com.palm.display", "com.palm.keys", "com.palm.appDataBackup", "com.palm.eventreporter.LunaSysMgr", "com.palm.eventreporter.WebAppMgr", "com.palm.webos.eventreporter", "com.palm.luna-*"]
    usr/share/ls2/roles/prv/com.palm.luna.json:64:            "service":"com.palm.eventreporter.WebAppMgr",
    Not terribly helpful...

    And this is even less so:

    Code:
    root@My Pre:/# ipkg list_installed | grep -i web
    com.quickoffice.webos - 1.0-696 - 
    luna-webkit - 1.1-183.25 - 
    node-webos - 1.0-3 - 
    webview - 1.0-23.1 -

    M.
  14. #494  
    From top:
    Code:
     1561 root      19  -1  259m 123m  29m S  2.7 25.0  10:28.79 WebAppMgr
    Then ps -afe | grep 1561
    Code:
    root      1561  1512  1 03:02 ?        00:10:28 /usr/bin/LunaSysMgr -s
    and finaly:
    Code:
    root@ DrBattery:/var/home/root# ps -afe | grep Luna
    root      1135     1  0 02:59 ?        00:00:03 /usr/bin/LunaDownloadMgr
    root      1188     1  0 02:59 ?        00:00:00 /usr/bin/LunaUniversalSearchMgr
    root      1189     1  0 02:59 ?        00:00:01 /usr/bin/LunaSysService
    root      1512     1  0 03:02 ?        00:04:07 /usr/bin/LunaSysMgr -s
    root      1561  1512  1 03:02 ?        00:10:29 /usr/bin/LunaSysMgr -s
    root     30606 30520  0 14:12 pts/0    00:00:00 grep Luna
    So its a child of the LunaSysMgr
  15. rksand's Avatar
    Posts
    151 Posts
    Global Posts
    152 Global Posts
    #495  
    Quote Originally Posted by Jakeeeee View Post
    ...the best option is to run Garbage Collector...
    I'm not yet sure if this is real or not, but since I started JStops Auto GC, I'm finding my swap fills much more slowly.
  16. #496  
    Quote Originally Posted by somline View Post
    So its a child of the LunaSysMgr
    It seems like maybe it's some kind of "keep alive" / "watch dog" type daemon.

    Code:
    me@aragorn ~/webOS/ROOTS/a/usr/bin $ strings LunaSysMgr | grep -i webapp
    void WebAppBase::blurActivity()
    void WebAppBase::focusActivity()
    void WebAppBase::destroyActivity()
    void WebAppBase::createActivity()
    virtual int WindowedWebApp::resizeEvent(int, int, bool)
    virtual void WindowedWebApp::onTouchEvent(const SysMgrTouchEvent&)
    virtual void WindowedWebApp::paint(bool)
    bool WindowedWebApp::showWindowTimeout()
    virtual void WindowedWebApp::keyEvent(QKeyEvent*)
    virtual void WindowedWebApp::stagePreparing()
    virtual void WindowedWebApp::stageReady()
    virtual void WindowedWebApp::attach(WebPage*)
    virtual void WindowedWebApp::loadFinished()
    void AlertWebApp::stopPowerdActivity()
    void AlertWebApp::startPowerdActivity()
    void CardWebApp::cancelCrossAppScene()
    void CardWebApp::removeChildCardWebApp(CardWebApp*)
    void CardWebApp::addChildCardWebApp(CardWebApp*)
    virtual void CardWebApp::paint(bool)
    void CardWebApp::prepareSceneTransition()
    void CardWebApp::cancelSceneTransition()
    void CardWebApp::runCrossAppTransition(bool)
    void CardWebApp::crossAppSceneActive()
    void CardWebApp::runSceneTransition(const char*, bool)
    virtual WebAppBase* WebAppFactoryLuna::createWebApp(Window::Type, WebPage*, PIpcChannel*)
    virtual void WebAppManager::windowedAppRemoved(WindowedWebApp*)
    virtual void WebAppManager::windowedAppAdded(WindowedWebApp*)
    void WebAppManager::mimeHandoffUrl(const char*, const char*, const char*)
    void WebAppManager::markUniversalSearchReady()
    void WebAppManager::onDeleteHTML5Database(const std::string&)
    virtual void WebAppManager::onDisconnected()
    virtual void WebAppManager::serverDisconnected()
    void WebAppManager::onProcMgrLaunch(const std::string&, const std::string&, const std::string&, const std::string&)
    void WebAppManager::onProcMgrLaunchBootTimApp(const std::string&)
    virtual void WebAppManager::onMessageReceived(const PIpcMessage&)
    static gboolean WebAppManager::BootupIdleCallback(void*)
    static gboolean WebAppManager::BootupTimeoutCallback(void*)
    void WebAppManager::stopGcPowerdActivity()
    bool WebAppManager::gcPowerdActivtyTimerCallback()
    void WebAppManager::startGcPowerdActivity()
    static bool WebAppManager::displayManagerCallback(LSHandle*, LSMessage*, void*)
    void WebAppManager::launchLowMemoryWarningDashboard()
    void WebAppManager::launchLowMemoryWarningAlert()
    virtual void WebAppManager::windowedAppKeyChanged(WindowedWebApp*, int)
    bool WebAppManager::headlessAppWatchCallback()
    WebAppBase* WebAppManager::launchUrlInternal(const std::string&, Window::Type, const std::string&, const std::string&, const std::string&, const std::string&, const std::string&, bool)
    WebAppBase* WebAppManager::launchWithPageInternal(WebPage*, Window::Type, ApplicationDescription*)
    WebAppManager
    WebAppMgr
    void WebAppMgrProxy::onLowMemoryActionsRequested(bool)
    virtual void WebAppMgrProxy::onMessageReceived(const PIpcMessage&)
    void WebAppMgrProxy::webKitDied(GPid, gint)
    virtual void WebAppMgrProxy::onDisconnected()
    void WebAppMgrProxy::setExtendedSelection(Window*, bool)
    void WebAppMgrProxy::onStartDrag(int, int, int, int, int, const std::string&)
    void WebAppMgrProxy::emitPaste(Window*)
    void WebAppMgrProxy::emitCut(Window*)
    void WebAppMgrProxy::emitCopy(Window*)
    void WebAppMgrProxy::resizeEvent(Window*, int, int, bool)
    void WebAppMgrProxy::inputQKeyEvent(Window*, QKeyEvent*)
    void WebAppMgrProxy::inputEvent(Window*, Event*)
    std::string WebAppMgrProxy::launchBootTimeApp(const char*)
    std::string WebAppMgrProxy::launchNativeApp(const ApplicationDescription*, const std::string&, const std::string&, const std::string&, std::string&)
    void WebAppMgrProxy::focusEvent(Window*, bool)
    void WebAppMgrProxy::onPrepareAddWindowWithMetaData(int, int, int, int, int)
    virtual void WebAppMgrProxy::onPrepareAddWindow(int, int, int, int)
    std::string WebAppMgrProxy::appLaunch(const std::string&, const std::string&, const std::string&, const std::string&, std::string&)
    static WebAppMgrProxy* WebAppMgrProxy::connectWebAppMgr(int, PIpcChannel*)
    %s (%d): WebAppMgrProxy was Disconnected!!
    WebAppMgrProxy
    WebAppMgrProxy::appLaunch failed, %s.
    %s (%d) WebAppMgrProxy instance is NULL
    %s (%d): ERROR: WebAppMgr instance already Connected!!!
    WebAppMgrProxy
    M.
  17. #497  
    Quote Originally Posted by rksand View Post
    I'm not yet sure if this is real or not, but since I started JStops Auto GC, I'm finding my swap fills much more slowly.
    Real? I think garbage collection is the only way 2.1 remains usable without restarting.

    https://developer.palm.com/content/r...ollection.html

    JSTop has the Auto GC though...
    Quote Originally Posted by rwhitby View Post
    We always prefer that people donate in response to tangible items they can use today, rather than for intangible promises about the future that may or may not be possible to achieve.
  18. #498  
    I am really liking these settings guys.... try it out if you dare:

    Code:
    vm.swappiness = 100
    vm.vfs_cache_pressure = 200
    vm.dirty_expire_centisecs = 18000
    vm.dirty_writeback_centisecs = 6000
    vm.dirty_ratio = 40
    vm.dirty_background_ratio= 0
    compcache= 262144 (256mb)

    I think this is doing what carell said above. Its not so much that this ammount of swap is being used, its just that it is so big that linux doesnt feel the need to try and clear up room in the swap, which is when we get the hangs.

    I would rather like to see 256mb or even more for the swap disk, and less for compcache, giving more room for actual RAM. Right now I am using up 64mb of ram for compcache that could be used for actual RAM, but even still I am not getting any big lags after a day of use. I even had 180mb of swap being used and it was totally fine with that.

    I could see this being even better with say, 512mb of disk swap and 32mb of compcache.

    PS: I am convinced that the Synergy messaging plugins leak memory like crazy. I turn that on and my swap goes up to 140mb within a matter of minutes.
    Last edited by rmausser; 06/03/2011 at 01:03 PM.
  19. #499  
    Quote Originally Posted by rmausser View Post
    I am really liking these settings guys.... try it out if you dare:

    Code:
    vm.swappiness = 100
    vm.vfs_cache_pressure = 200
    vm.dirty_expire_centisecs = 18000
    vm.dirty_writeback_centisecs = 6000
    vm.dirty_ratio = 40
    vm.dirty_background_ratio= 0
    compcache= 262144 (256mb)

    I think this is doing what carell said above. Its not so much that this ammount of swap is being used, its just that it is so big that linux doesnt feel the need to try and clear up room in the swap, which is when we get the hangs.

    I would rather like to see 256mb or even more for the swap disk, and less for compcache, giving more room for actual RAM. Right now I am using up 64mb of ram for compcache that could be used for actual RAM, but even still I am not getting any big lags after a day of use. I even had 180mb of swap and it was totally fine with that.

    I could see this being even better with say, 512mb of disk swap and 32mb of compcache.

    PS: I am convinced that the Synergy messaging plugins leak memory like crazy. I turn that on and my swap goes up to 140mb within a matter of minutes.
    I think something you're not taking into account is that compcache == Compressed Cache. *COMPRESSED*. This takes a lot of CPU power and RAM space to do that. We don't notice it too much on Desktops when zipping up a directory, but, on the wimpy Pre- that is already RAM limited, it's suicide.

    More != Better.

    It takes a lot of RAM and CPU time to calculate the compression algorithms necessary for all this. So when you're trying to get stuff into swap, you have to compress the stuff. This takes RAM. You're already out of RAM, so that has to get done in swap, which takes compression time... while you're already compressing something which requires it to be decompressed first in order to use/read it to decide what it should do with it... while at the same time trying to compress something...

    Big ugly circle that brings our phones to its knees like we see over and over.

    BIG compcache is really bad. But, it's your phone, so...


    M.
    Last edited by Xanadu73; 06/03/2011 at 01:20 PM.
  20. #500  
    Quote Originally Posted by Xanadu73 View Post
    I think something you're not taking into account is that compcache == Compressed Cache. *COMPRESSED*. This takes a lot of CPU power and RAM space to do that. We don't notice it too much on Desktops when zipping up a directory, but, on the wimpy Pre- that is already RAM limited, it's suicide.

    More != Better.

    It takes a lot of RAM and CPU time to calculate the compression algorithms necessary for all this. So when you're trying to get stuff into swap, you have to compress the stuff. This takes RAM. You're already out of RAM, so that has to get done in swap, which takes compression time... while you're already compressing something which requires it to be decompressed first in order to use/read it to decide what it should do with it... while at the same time trying to compress something...

    Big ugly circle that brings our phones to its knees like we see over and over.

    BIG compcache is really bad. But, it's your phone, so...


    M.
    As much as I appreciate your theories I am someone who has to do something and see it with my own eyes to be proven the results.

    So far my Pre has not even hiccuped once with these settings. I will let you know if it does.

    Also part of your theory is incorrect. Compression uses CPU power yes, but it does not require much RAM to do it. Overclocked at 1ghz, I have CPU power to spare, and will gladly afford some of it in exchange for more theoretical RAM space.

Posting Permissions