大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – rails和phusion乘客的内存泄漏问题,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
------ Passenger processes ------ PID VMSize Private Name --------------------------------- 1076 215.8 MB 0.3 MB PassengerWatchdog 1085 2022.3 MB 4.4 MB PassengerHelperAgent 1089 109.4 MB 6.4 MB Passenger spawn server 1093 159.2 MB 0.8 MB PassengerLoggingAgent 1883 398.1 MB 110.1 MB Rack: /home/guarddog/public_html/guarddog.com/current 1906 1174.6 MB 885.9 MB Rack: /home/guarddog/public_html/guarddog.com/current 3648 370.1 MB 131.9 MB Rack: /home/guarddog/public_html/guarddog.com/current 14830 370.6 MB 83.0 MB Rack: /home/guarddog/public_html/guarddog.com/current 15124 401.2 MB 113.9 MB Rack: /home/guarddog/public_html/guarddog.com/current 15239 413.5 MB 127.7 MB Rack: /home/guarddog/public_html/guarddog.com/current 15277 400.5 MB 113.6 MB Rack: /home/guarddog/public_html/guarddog.com/current 15285 357.1 MB 70.1 MB Rack: /home/guarddog/public_html/guarddog.com/current ### Processes: 12 ### @R_872_10586@l private dirty RSS: 1648.10 MB
令人难以理解的是,当一次使用总量减少到100 MB时,一个机架进程在重新启动操作系统一小时后使用了885.9 MB的私有脏RSS内存.现在一小时后,它的速度为1648.10 mb.网站速度太慢,页面甚至无法加载.
我认为这是一个内存泄漏所以我在整个应用程序中添加了这行代码:
puts "Object count: #{ObjectSpace.count_objects}"
但我不知道如何解释它给我的数据:
Object count: {:@R_872_10586@L=>2379635,:FREE=>318247,:T_OBjeCT=>35074,:T_CLASS=>6707,:T_MODULE=>1760,:T_FLOAT=>174,:T_StriNG=>1777046,:T_REGEXP=>2821,:T_ARRAY=>75160,:T_HASH=>64227,:T_STRUCT=>774,:T_BIGNUM=>7,:T_FILE=>7,:T_DATA=>55075,:T_MATCH=>10,:T_COMPLEX=>1,:T_RATIONAL=>63,:T_NODE=>37652,:T_ICLASS=>4830}
注意我只在我的本地计算机上运行ObjectSpace.count_objects,因为我的ubuntu服务器太慢,甚至无法加载页面.
以下是其他一些操作系统统计信息:
$cat /proc/meminfo Mem@R_872_10586@l: 6113156 kB MemFree: 3027204 kB Buffers: 103540 kB Cached: 261544 kB SwapCached: 0 kB Active: 2641168 kB Inactive: 248316 kB Active(anon): 2524652 kB Inactive(anon): 328 kB Active(filE): 116516 kB Inactive(filE): 247988 kB Unevictable: 0 kB Mlocked: 0 kB Swap@R_872_10586@l: 6287356 kB SwapFree: 6287356 kB Dirty: 36 kB WriteBACk: 0 kB AnonPages: 2524444 kB Mapped: 30108 kB Shmem: 568 kB Slab: 77268 kB SReclaimable: 48528 kB SUnreclaim: 28740 kB KernelStack: 4648 kB PageTables: 43044 kB NFS_Unstable: 0 kB Bounce: 0 kB WriteBACkTmp: 0 kB CommitLimit: 9343932 kB Committed_AS: 5179468 kB Vmalloc@R_872_10586@l: 34359738367 kB VmallocUsed: 293056 kB VmallocChunk: 34359442172 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_@R_872_10586@l: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 46848 kB DirectMap2M: 5195776 kB df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/roadrunner-root 134821120 22277596 105695012 18% / udev 3047064 4 3047060 1% /dev tmpfs 1222632 252 1222380 1% /run none 5120 0 5120 0% /run/lock none 3056576 88 3056488 1% /run/shm none 102400 0 102400 0% /run/user /dev/sda1 233191 29079 191671 14% /boot
另外,如果我运行“kill -9 1906”来杀死那个占用大量内存的机架进程,那会有帮助吗?
以上是大佬教程为你收集整理的ruby-on-rails – rails和phusion乘客的内存泄漏问题全部内容,希望文章能够帮你解决ruby-on-rails – rails和phusion乘客的内存泄漏问题所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。