关于内存优化步骤的总结(个人总结)

环境

Ubuntu 14.04.6 LTS
Python2.7

问题

服务器在内存占用过大。

问题分析步骤

  1. 使用如下脚本监听路径下的进程启动的内存变化,监听的结果为服务器启动三秒到五秒的过程中出现了内存上涨行为。
#!/bin/bash

while true
do
    echo `date +"%Y-%m-%d %H:%M:%S"` `ps -aux | grep ${PWD}` >>mem.log
    sleep 1
done
  1. 查看服务器代码的启动逻辑,寻找启动后三秒于五秒执行的定时器发现过程中加载用户工会信息与用户排行信息为了获得用户的几点属性如用户名,用户等级,用户vip等级等信息直接通过用户cid实例化了用户对象获取用户所有属性,只是未置为上线状态。
  2. 确认为因为滥用用户对象所以造成了不必要的浪费。

解决

添加一个方法,只传输用户属性而不会在传输属性的过程中实例化存储整个用户对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,248评论 6 13
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,482评论 0 9
  • 一、深复制和浅复制的区别? 1、浅复制:只是复制了指向对象的指针,即两个指针指向同一块内存单元!而不复制指向对象的...
    iOS_Alex阅读 1,463评论 1 27
  • 近日差途南北中,无暇遍览九洲同, 莫愁湖里莫愁客,坐等来年再春风, 一塘莲叶绿舟渡,不见荷花点点红, 想想当年人间...
    金陵君阅读 126评论 1 4